From 1e4c10bc6b301945f1e549e6e58317874539027e Mon Sep 17 00:00:00 2001 From: Hakan Seven Date: Thu, 8 Oct 2026 14:41:52 +0300 Subject: [PATCH] feat(cursor): a command asking for objects shows the pickbox alone Idle and object selection drew the same cursor, crosshair arms with the pickbox, so the cursor did not tell a pick from a free move. While a command gathers a selection or waits for an object pick the arms now go and the pickbox stays: idle keeps arms and box, point input arms and dot. Fixes #1661 Co-Authored-By: Claude Opus 5.5 --- src/app/view/mod.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/app/view/mod.rs b/src/app/view/mod.rs index d12abbd5a..8f177d0dd 100644 --- a/src/app/view/mod.rs +++ b/src/app/view/mod.rs @@ -927,11 +927,14 @@ bg={bg_ms:.1}ms n={view_count}" snap_angle_deg: self.snap_angle_deg, pick_pending: self.pending_pick_label().is_some(), // An infinite-line preview runs along the arms; drop them - // so the preview stays visible (#1437). - hide_arms: tab - .active_cmd - .as_ref() - .is_some_and(|c| matches!(c.name(), "XLINE" | "RAY")), + // so the preview stays visible (#1437). A command asking + // for objects shows the pickbox alone, so picking reads + // apart from both idle and point input (#1661). + hide_arms: tab.active_cmd.as_ref().is_some_and(|c| { + matches!(c.name(), "XLINE" | "RAY") + || c.needs_entity_pick() + || c.is_selection_gathering() + }), snap_color: self.snap_marker_color, }, crate::ui::overlay::SelectionVisualOptions {