Conversation
View › Command Palette… opens a small search window, as in Raycast or Obsidian. It lists every command in the menu bar, read live from the main menu (so new commands appear by themselves) with its menu path and shortcut, greyed when disabled, and every tool. Typing ranks them fuzzily (letters in order, word starts and runs first); arrows move, Return runs, Escape closes. The shortcut is listed in Keyboard Shortcuts. Co-Authored-By: Claude Opus 5.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.
The problem today
Compositor has a lot of menu commands. Finding one you rarely use (a filter, an adjustment layer, a Select command) means remembering which menu it's in and opening them one by one.
What changes for the user
⌥⌘P (View › Command Palette…) opens a small search window, as in Raycast, Obsidian or VS Code:
gauss,curves,trim): commands are ranked fuzzily, with word starts and runs first;It reads the live menu bar, so any command added later appears in it with no extra work. The shortcut is listed in Keyboard Shortcuts and can be changed.
How to try it
gauss, press Return: Gaussian Blur opens.brush, press Return: the Brush tool is selected.In the code
UI/CommandPalette.swift: the fuzzy ranking, and reading entries from the main menu (it asks each menu to update first, since SwiftUI only refreshes titles and enabled state when a menu is about to open). The app, Services and Window menus are left out.UI/CommandPaletteView.swift: the panel, which closes before running a command so it acts on the editor window.CommandPaletteTests(11 tests), including against the app's real menu bar.Can be trimmed
The View item can go; the shortcut works without it. This one adds surface, so I'd understand if it isn't a fit.
Tested on macOS 26.6 (Apple silicon): the full test suite passes. Not yet tried on macOS 27.
🤖 Generated with Claude Code