cmux-next sidebar: more menu on group headers and workspace rows (cx-a9h6)

Merged
TE
1mo ago
+191-13

Group headers and workspace rows get a more (⋯) button that opens the same menu as a right-click, ChatGPT project style (cx-a9h6).

  • Workspace rows: the button shows on hover and on the selected row, left of the close button. It selects the row the way a right-click does, then opens the row's context menu under the button. That menu includes pin, rename, color and icon, Reveal in Finder, and close.
  • Group headers: the ⋯ button and a right-click both open the group's full menu: New Workspace, Rename, Pin, Color and Icon, Mark read, Collapse, Move, Edit Config, Copy ID, Ungroup, Close Workspaces, and Delete. A click on the group's name or chip still opens the editor (name, color, emoji). The accessibility Edit action opens the editor too.
  • Both buttons use the icon pack's action.more.

Not in this PR: the group menu has no "Reveal in Finder" and no "Section" entry (the closest is Move to Space). Adding them means new catalog actions, which wait for the action-catalog freeze and regenerated exports, so they're a follow-up.

This PR is stacked on #18997 (cx-25az) and retargets to feat-cmux-next when that lands.

Visible change (native): a ⋯ button appears on the hovered or selected workspace row and on a hovered group header; clicking it opens the right-click menu.

Testing

  • No unit tests (cmux-next rule). The button runs the same contextMenuProvider menu that a right-click shows, so it adds no new menu logic. Real verification: in a tagged build, hover a workspace row and a group header, click ⋯, and compare with a right-click. Not run yet.
  • Fleet run-swift-testing-suites.sh and the hosted Swift canary on the exact head.

Localization: the new key sidebar.a11y.workspaceMenu ("Workspace options") is translated in all 21 locales of the sidebar catalog.

Changelog

Added: a more (⋯) button on sidebar workspace rows and group headers that opens the same menu as a right-click

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Adds more (⋯) buttons to sidebar group headers and workspace rows that open the same menu as a right-click, ChatGPT project style.

  • Workspace rows show the button on hover and on the selected row; clicking it selects the row first, then opens the row's context menu under the button (the button is wired to its menu).
  • Group headers show the button on hover; the group's full menu opens from the button or a right-click, while clicking the chip still opens the editor (accessibility Edit opens it too).
  • The group's right-click now opens the full menu instead of the editor. The group menu lacks "Reveal in Finder" and "Section" entries, which need new catalog actions and are a follow-up.

[!NOTE]
Low Risk
UI-only sidebar interaction changes that reuse existing context menus; no new menu logic or security-sensitive paths.

Overview
Adds ChatGPT-style ⋯ controls on cmux-next sidebar workspace rows and retargets group header ⋯ / right-click to the full context menu instead of opening the group editor.

Workspace rows get a new moreButton that appears on hover and when selected (left of close/badge). Tapping it selects the row like a right-click, then pops the same contextMenuProvider menu via new SidebarRowMenu. Selection changes trigger relayout so the button stays visible on the selected row.

Group headers split actions: ⋯ and right-click call groupEditing.showMenu (full group menu); chip click and VoiceOver Edit use new onEdit → groupEditing.open. showMenu is now callable from context menu handling.

Adds localized a11y string sidebar.a11y.workspaceMenu ("Workspace options") across the sidebar catalog.

Reviewed by Cursor Bugbot for commit 87f68b533176cbdabd2eb0c2d8e545b5e7d326fc. Bugbot is set up for automated code reviews on this repo. Configure here.

Showcase

row more button before after

Open the live gallery