Browse the docs

The selection bar

Select text in any app and a slim bar of icons appears above it: Copy, Search, Open link, Rewrite, Paste as, and any macro you make. Every icon is a macro that takes the selection.

Drag across some text, double-click a word, or extend a selection with ⇧←. A glass bar fades in above the selection with a few icons. Click one, or press ⌘1 to ⌘8, and it acts on the text. Click elsewhere, press ⎋, scroll, or wait six seconds and it goes away.

The bar needs Accessibility and Input Monitoring for Switchboard's engine, the same as hotkeys.

What is on it #

Every icon is an ordinary macro whose first input takes a thing: thing:url, thing:email, thing:text or thing:any (see Thing types). The bar lists the macros that take what you selected, in this order:

  1. The macros in the Selection bar group.

  2. The rest, the ones you used most for this kind of thing first, then by name.

At most eight show; a › opens the others as a list and offers Hide bar here. A macro's icon (an SF Symbol or an emoji) is its button and its name is the tooltip.

Selecting a link offers Open link, an email address New mail to, a file path Reveal in Finder, JSON Pretty JSON. Everything that takes text (Copy, Search the web, Look up, Translate, Rewrite…) shows for any selection.

A macro that gives text back (it ends in a return step, or you set its mode to transform) replaces the selection with its result. Any other macro just runs. While it runs, {{thing}} and {{sel}} are the selected text.

Make your own #

Choose File ▸ New ▸ Selection Action. It starts with a text input and Shows in set to the selection bar. Change the input's type to make it list only for links, email addresses or your own types, and add an Only if with Selection is to narrow it further ("the selection is JSON", "matches ^ABC-\d+$").

When it appears, and when it doesn't #

The bar looks only after a drag of at least 6 points, a double or triple click, or a shift-arrow key-up. It never looks after a plain click, while a mouse button or modifier is down, during secure input, in Switchboard's own windows, in games, or in the apps on the Never show in list (Terminal, iTerm, Ghostty, the Finder and Screen Sharing by default).

It reads the selection through Accessibility first. The Chromium and Electron apps on the Copy to read list may press ⌘C instead; the clipboard is put back and clipboard history ignores that copy. Everywhere else, no Accessibility text means no bar.

If you want it on demand, set Show bar to Only while holding ⌥ or Only with the hotkey (⌥⌘C) in Settings › SelectionBar.

Why didn't it show? #

Start the engine with SWITCHBOARD_SELECTION_TRACE=1 and each candidate gesture is logged with the reason. switchboard trace --surface selectionBar lists the recent ones.

Coming from PopClip #

File ▸ Import… takes a .popclipext folder, a PopClip Config.plist, Config.json or snippet YAML. Each action becomes one macro in a "PopClip" group: url opens the link with the selection, key combo presses the keys, shortcut runs the Shortcut, shell script runs with POPCLIP_TEXT set, javascript runs as a script, and requirements and regex become the macro's input type and an Only if. Anything else imports turned off, with a note.