Repository navigation
cmux NEXT menus: downloads, reload, history and device menus take the glass highlight and icons - #23106
Conversation
… glass highlight and icons The browser toolbar's Downloads, Reload, Back/Forward history and Emulate Device menus were plain AppKit menus: system-blue highlight and mostly no icons. They now draw their rows as ThemedMenuRowView in the toolbar's theme (NSMenu.themeRows(in:)), every row with an icon: a download's file-type icon and its commands' symbols, the reload actions' symbols, a page glyph per history entry, and a device-class glyph per device. The toolbar presents the downloads and device menus themed (present(_:from:themed:)), device search results added while the menu is open are themed too (themeAddedRows), and section headers stay AppKit's. Menu labels palette-audit found: the space menu's icon and color rows use the shared words (Set Icon…, Remove Icon, Color) like every other object's menu, and the pane Layout submenu's chat zoom rows read Chat Zoom In, Chat Zoom Out and Chat Actual Size, the chat menu's words (Zoom In, Zoom Out, Actual Size) led by Chat as the canvas rows are. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c08-98d9-7e82-ac8f-c5e8f40c3cab&host=cosmic-gray
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c08-98d9-7e82-ac8f-c5e8f40c3cab&host=cosmic-gray
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
Owned by context-menus on cosmic-gray · session |
|
Bead |
The Downloads menu became a popup on base: its rows' right-click menu now takes the menu look and icons. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c08-98d9-7e82-ac8f-c5e8f40c3cab&host=cosmic-gray
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Not verified: macOS jobs did not run: compile and app tests were skipped on CI passes on Written by |
…k does performActionForItem needs a running NSApplication, which CmuxNextAppTests lacks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c08-98d9-7e82-ac8f-c5e8f40c3cab&host=cosmic-gray
…ugh Cancel, not the pasteboard The fleet's test hosts have no general pasteboard, so Copy link's write read back nil. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c08-98d9-7e82-ac8f-c5e8f40c3cab&host=cosmic-gray
|
Found 4 test failures on Blacksmith runners: Failures
|
|
Fleet results on head 6489737 (
The independent review passed. Merging. Agent session: cosmic-gray |
|
Shipped in:
|
The browser toolbar's own menus were the last plain AppKit menus in cmux NEXT: right-click or long-press Reload, Back or Forward, open Downloads or Emulate Device, and the highlight was the system blue with few or no icons, unlike the sidebar, tab, terminal, page and bookmarks menus (#22787, #22944). Now they draw the same theme-tinted glass highlight (
ThemedMenuRowView,Palette.menuHighlight) in the toolbar's theme, and every row has an icon.BrowserToolbarButtonsView.present(_:from:themed:)).arrow.clockwise,arrow.clockwise.circle).NSMenu.themeAddedRows()). Section headers stay AppKit's:themeRowsnow skips them, along with separators and the search field.A chosen themed row runs after the menu closes. Every menu here is presented with
popUpand nothing afterpopUpdepends on the action having run, so noafterThemedRowRunsstep was needed. Each row's target is held by the item (representedObject), so it outlives the menu.The same PR fixes three menu-only labels that palette-audit flagged:
IconMenuLabels,ObjectMenuLabels.color). The threemenu.space.*keys were removed from ProfileActions.xcstrings.The generated
plans/cmux-next/action-surfaces.jsoncarries the old labels. PR autofix regenerates it, so it isn't edited by hand.Changelog
Changed: The browser toolbar's Downloads, Reload, Back/Forward and Emulate Device menus use the cmux NEXT menu highlight and show an icon on every row.
Observed / Not run
cmux-ci compile-check --appand the Swift testing suites (run-swift-testing-suites.sh, 4 shards) on the head; results are in a comment below. New tests:BrowserToolbarMenusThemeTests(Reload, Hard Reload, a clicked row running after close, Back history, Device menu with search results) andBrowserDownloadsMenuThemeTests(a finished download's menu, the empty menu, and a running download's row menu whose Cancel row cancels it; the fleet's test hosts have no general pasteboard, so Copy Link can't be read back there). Each checks that every row is aThemedMenuRowViewwith an icon, or the device search field, and that choosing a row runs its action.prepush-gate.py,check-app-size.sh(CmuxNextApp shrinks by 1 source line) andcheck-menu-actions.pyall ran locally. The only red in the menu-actions check isChiefPaneTools.swift, which is red on base 7f3a43a (cmux NEXT: the Chief's status, subagents and actions in its pane's tab row #22852) and is being fixed in cmux-next Chief: Subagents menu rows run chief.openSubagent, not an inline selector #23073, so it isn't touched here.ThemedMenuRowView, which is already in use and tested inThemedMenuTests.Agent session: cosmic-gray
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
The browser toolbar's Downloads, Reload, Back/Forward history, and Emulate Device menus were the last plain AppKit menus in cmux NEXT — they showed the system-blue highlight with few or no icons. They now draw the same theme-tinted glass highlight in the toolbar's theme, and every row has an icon.
Label fixes
menu.space.*strings removed.Written for commit 6489737. Summary will update on new commits.