Command Palette
A keyboard-summoned search box that finds and runs any command by typing part of its name, giving power users speed without forcing every feature into menus.
A command palette is a search box, summoned by a keyboard shortcut, that lists every action an application can perform and filters them as the user types. Type "tog dark" and "Toggle dark mode" rises to the top; press Enter and it runs. The palette turns a sprawling interface into one text field.
The idea is old. Emacs has offered M-x, run any command by name, since the 1970s, and a Shell is a command palette with a stricter grammar. Apple's Spotlight, in 2005, brought typed launching to the desktop. Sublime Text, around 2011, popularized the modern form: Goto Anything for files and a Command Palette for actions, both fuzzy-matched. VS Code adopted it, and from there it spread into web apps, where ⌘K became the conventional shortcut in tools such as Slack, Linear, Notion, and GitHub.
Palettes work because they trade recall for recognition. Nobody remembers where a menu item lives or which of forty keyboard shortcuts does what, but most people can type a few letters of what they want. Recognition rather than recall is one of the heuristics used in heuristic evaluation, and it relieves working memory.
Several design details decide whether a palette feels fast or frustrating:
- Fuzzy matching. Matching non-contiguous letters, so "gtf" finds "Go to file", and tolerating typos, using ideas from edit distance. Matches at word starts should rank higher.
- Ranking by use. Recently and frequently run commands float to the top.
- Showing shortcuts. Listing each command's keyboard shortcut beside it teaches the faster path, letting the palette work as a tutor rather than a crutch.
- Scope and context. Commands irrelevant to the current selection are hidden or demoted, and prefixes such as
>or@can switch between commands, files, and symbols. - Speed. Results must update on every keystroke, well within the Response Time Limits that make an interface feel instantaneous.
Accessibility needs the usual care for a popup. The palette is a dialog with a combobox inside it: focus moves into the input on open, arrow keys move through results announced via ARIA, Escape closes it, and focus returns to where it was, as described under Focus Management and Modal Dialog. Everything must work without a mouse, which is the point anyway; see Keyboard Navigation.
The palette's weakness is discoverability. People cannot search for a feature they do not know exists, and a blank text box shows nothing about what the product can do. That makes it a complement to visible navigation, not a replacement, the same balance that Progressive Disclosure strikes between showing everything and showing too little. It also eases the tension that Hick's Law describes: an interface can offer hundreds of commands without displaying hundreds of choices.
See also2
Desktop Environment
The bundle of software that makes up a graphical desktop, including the window manager, panels, file manager, settings and a shared look, which on Linux is a choice among independent projects rather than part of the operating system.
Systems & Tooling14 connections
Context Menu
A menu of actions for the thing under the pointer, opened by right-click or long press, which saves travel and narrows choices but is invisible until summoned, so it should never be the only route to an action.
Design & Interface12 connections
Linked from7
- AutocompleteData & Content
Suggesting completions while someone types, which needs prefix-friendly indexes, ranking by likely intent, and careful handling of latency, typos, and accessibility.
- Command-Line InterfaceSystems & Tooling
Operating a computer by typing commands and reading text replies, the interface inherited from teletypes that remains the fastest, most scriptable, and least discoverable way to control software.
- Context MenuDesign & Interface
A menu of actions for the thing under the pointer, opened by right-click or long press, which saves travel and narrows choices but is invisible until summoned, so it should never be the only route to an action.
- Direct ManipulationDesign & Interface
Ben Shneiderman's 1983 name for interfaces where people act on visible objects with immediate, reversible feedback, such as dragging a file or resizing a shape, instead of typing commands that describe the change.
- Dropdown MenuDesign & Interface
A control that hides a list of options until it's opened, saving space at the cost of hiding choices, which ranges from desktop menu bars to the web's notoriously hard-to-style select element and the sprawling mega menus of retail sites.
- Hick's LawDesign & Interface
Decision time rises with the number and complexity of choices offered, roughly logarithmically — fewer options decided faster.
- Progressive DisclosureDesign & Interface
Show only what most users need now, and defer the rest behind an explicit action, instead of exposing everything at once.