Repository navigation
Add ⌘K command palette with Liquid Glass, replacing tab search - #22
Merged
Merged
Conversation
The ⇧⌘A tab search dropdown becomes a centered cmdk-style palette (src/bro_palette.mm): one fuzzy-ranked list over open tabs, recently closed tabs, browsing history, and app commands derived from the main menu, with a pinned search-the-web / go-to-URL fallback row reusing the address bar's heuristic (extracted as BroResolveQueryToURL). ⌘K opens the full palette; ⇧⌘A and the strip's search button open it scoped to tabs. Tab/Shift-Tab cycle the selection and keyboard moves are announced to VoiceOver. The backdrop is NSGlassEffectView tinted near #000 on macOS 26+, with an NSVisualEffectView approximation below. The strip search button matches the toolbar buttons (28pt, magnifying glass) and the four trailing icons share equal spacing; search and downloads hide at rest and reveal on hover over their zone, with the download pulse routed through the reveal. Also lands the motion/design-system pass: BroTextMorphView animated tab titles, shared BroHoverHighlightGroup hover treatment across toolbar and downloads rows, BroApplyElevation/BroOverlayShow surfaces, and unified tab text metrics. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The window's behind-window blur (contentView NSVisualEffectView) was fully covered by an opaque black tint. Split that backdrop at the toolbar line: the chrome row now wears a permanent 60% black scrim — the same tint as the command palette's glass — and the browser-area tint cross-fades down to that scrim whenever every visible pane is blank, so new tabs read as dark glass over the desktop. The fade hooks into UpdateTabContainerVisibility, animates via the view animator so rapid tab flips retarget cleanly, and collapses to an instant switch under Reduce Motion. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces the ⇧⌘A tab-search dropdown with a centered cmdk-style ⌘K command palette (
src/bro_palette.mm): one fuzzy-ranked list over open tabs, recently closed tabs, browsing history, and app commands derived from the main menu (titles, shortcuts, and enablement come from the existingvalidateMenuItem:machinery), plus a pinned search-the-web / go-to-URL fallback row reusing the address bar's heuristic, now extracted asBroResolveQueryToURL. ⇧⌘A and the tab strip's button still work, opening the same palette scoped to tabs; Tab/Shift-Tab and arrows cycle the selection with VoiceOver announcements, and the backdrop is real Liquid Glass (NSGlassEffectViewtinted near #000) on macOS 26+ with anNSVisualEffectViewfallback below.The strip's search button is restyled to match the toolbar buttons (28pt magnifying glass), the four trailing icons get equal spacing, and search + downloads hide at rest and fade in on hover over their shared zone, with the download-start pulse routed through the reveal.
Also includes the motion/design-system pass:
BroTextMorphViewanimated tab titles, sharedBroHoverHighlightGrouphover treatment across the toolbar and downloads rows, unifiedBroApplyElevation/BroOverlayShowsurfaces, and tokenized tab text metrics.Verified by building (CMake/Ninja) and driving the app: palette open/filter/activate for every row kind, tabs-scope entry points, hidden-icon hover reveal, and the glass rendering.
🤖 Generated with Claude Code