Skip to content

Fix search focus and selection - #9

Merged
BrendonJL merged 1 commit into
mainfrom
fix/search-focus-selection
Sep 9, 2026
Merged

BrendonJL merged 1 commit into
mainfrom
fix/search-focus-selection

Conversation

@BrendonJL

Copy link
Copy Markdown
Owner

Three fixes from the search-fixes design doc:

  • The search field ignored typing until a second click. DMS maps
    acceptsKeyboardFocus onto layer-shell WlrKeyboardFocus.OnDemand, which
    grants focus only on a click landing while the surface is already
    eligible -- and it was not, since the flag was bound to searchActive
    and so flipped true only after the click that opened search. Widened
    to include pointer hover via a HoverHandler, plus a deferred
    forceActiveFocus retry.
  • The search toggle vanished while items were checked, because the
    selection bar replaces the whole header row. Factored the toggle into
    a shared Component and gave the selection bar its own instance.
  • Selection was pruned against the visible set, so searching silently
    dropped it. Prunes against allItems now; the count label reports the
    hidden portion, derived from a cached visibleItems so it changes on
    the same debounced beat as the list.

Tests: 271 -> 277 passing.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01MRyF2uQvkQkcjbGHBsa7nS

…lters

Three fixes from the search-fixes design doc:

- The search field ignored typing until a second click. DMS maps
  acceptsKeyboardFocus onto layer-shell WlrKeyboardFocus.OnDemand, which
  grants focus only on a click landing while the surface is already
  eligible -- and it was not, since the flag was bound to searchActive
  and so flipped true only after the click that opened search. Widened
  to include pointer hover via a HoverHandler, plus a deferred
  forceActiveFocus retry.
- The search toggle vanished while items were checked, because the
  selection bar replaces the whole header row. Factored the toggle into
  a shared Component and gave the selection bar its own instance.
- Selection was pruned against the visible set, so searching silently
  dropped it. Prunes against allItems now; the count label reports the
  hidden portion, derived from a cached visibleItems so it changes on
  the same debounced beat as the list.

Tests: 271 -> 277 passing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MRyF2uQvkQkcjbGHBsa7nS
@BrendonJL
BrendonJL merged commit 3022120 into main Sep 9, 2026
4 checks passed
@BrendonJL
BrendonJL deleted the fix/search-focus-selection branch September 12, 2026 00:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant