Repository navigation
feat(panel): Settings… in the menu bar menu and ⌘, to open Settings - #227
Merged
Merged
Conversation
Reaching Settings meant opening the panel and finding the tab. The menu bar menu gains Settings… (⌘,), which opens the panel on Settings. ⌘, inside the panel does the same through globalKeyAction, so it works from a text field and follows the same rules as ⌘←/→: not while recording a hotkey, not on screens with no tab strip, and not on a held key. PanelController.showSettings(category:) can open a given category. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
StuBehan
reviewed
Oct 29, 2026
hiskudin
approved these changes
Oct 30, 2026
hiskudin
left a comment
Collaborator
There was a problem hiding this comment.
Review by Claude, from Hisku's session.
LGTM, with one small fix before merging:
The menu item has no guard. The ⌘, path correctly does nothing on setup, the update screens and Permissions opened from setup. showSettings(), called from the menu bar's Settings…, sets nav.mode = .settings unconditionally, so choosing it during the setup wizard leaves the wizard. The same guard is needed there. showPermissions() already handles .bootstrap.
Nit: showSettings(category:) has no caller that passes a category. I'd drop the parameter until one does.
- AGENTS.md: add the ⌘, row to the keys that mean the same on every page, and re-wrap the panelHandlesGlobalKey comment. - Pull the ⌘, guard into canOpenSettings beside stepTabTarget, with tests for tabs, sub-pages, setup, the update screens and Permissions from setup. - Menu Settings… shares canOpenSettings, so on setup or an update screen it only brings the panel up instead of replacing the screen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # AGENTS.md # README.md
5 tasks done
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.
Summary
Settings is two steps away from the menu bar (open the panel, find the tab). This adds Settings… to the menu bar menu and
⌘,inside the panel, both landing on Settings.Changes
⌘,) between Show panel and Check permissions…, calling the newPanelController.showSettings(category:).⌘,is a new case inglobalKeyAction(.openSettings), per the keyboard rules in AGENTS.md. It works from a text field, is ignored while recording a hotkey and on a held key, and does nothing on screens with no tab strip (setup, update, Permissions opened from setup), like⌘←/→.GlobalKeyActionTests.test_commandCommaOpensSettingspins the key table.Testing
Automated:
./build.sh(no new warnings),make test-without-xcode(1448 tests, 0 failures),make typecheck-tests.Manual, after
make reload:⌘,. It switches to Settings./to focus the filter, then⌘,. It switches to Settings.⌘,is recorded as the combo and does not leave the page.Related issues
None.
🤖 Generated with Claude Code
Summary by cubic
Adds Settings… to the menu bar menu and a
⌘,shortcut in the panel, so users can jump straight to Settings instead of opening the panel and finding the tab.⌘,works from a text field and is ignored while recording a hotkey, on held keys, and on screens with no tab strip (setup, update, permissions from setup).Written for commit 282355b. Summary will update on new commits.