Skip to content

Windows and developer workflows

Close and cycle windows, launch applications, send terminal and IDE chords, keep five extra clipboards, and type code punctuation from the home row.

The layout dedicates several colour-coded zones to the actions that interrupt a developer's flow most often: switching windows, launching tools, sending terminal signals, parking text somewhere, and typing punctuation.

Important

Every chord on this page assumes ✱ Hyper is held.

Window control

⇥ Q W A S form the azure block on the left of the keyboard. They close and cycle things, from a single tab up to the whole login session.

Closing and cycling, from a tab to the whole session
KeyHyper+ ⌘+ ⌥+ ⌃+ ⇧
⇥Next appPrevious appNext desktop—Next tab
QQuit appQuit app—Lock screenLog out
WClose windowClose windowDisplay sleep—Sleep
AWindow managerMission ControlShow desktopSpotlight—
SNext tabPrevious tabNext windowPrevious window—

Two rows deserve a note.

✱ with A is intentionally not mapped. Because Hyper is ⌃ with ⌥ with ⇧ with ⌘ on the right-hand side, an unmapped key passes straight through to whatever application is listening. Bind ⌃ with ⌥ with ⇧ with ⌘ with A inside Moom, Magnet or any other window manager and it becomes your layout key. Slate is kept only as a historical example.

Sleep is not a keystroke but a shell command: ✱ with ⇧ with W runs pmset sleepnow and ✱ with ⌥ with W runs pmset displaysleepnow. Karabiner needs no extra permission for these, but they will not fire if a modal dialog is blocking input.

Application shortcuts

The yellow keys launch or focus six applications on three planes. Each rule is a plain open -a shell command, so the target is matched by application name, which is exactly what makes them safe to rewrite.

Defaults only: every one of these eighteen names is meant to be changed
KeyHyper+ ⌘+ ⌥
ESafariFinderMail
RiTerm2PreviewTerminal
TVisual Studio CodeTyporaNotes
YSiriKarabiner-ElementsAmphetamine
FAlfred 5DashDictionary
GIntelliJ IDEAGoogle ChromeCalendar
Tip

The configurator rewrites any of these names in the browser and exports a JSON file you can import directly, without cloning the repository or installing anything.

Because open -a both launches and focuses, one key does the job of a Dock icon and a ⌘ with ⇥ hunt. If an application is already frontmost, pressing its key again does nothing: it does not toggle.

Terminal and IDE control

The green keys put the control chords a shell uses constantly under your right hand, so the left hand never has to contort into ⌃ + a letter mid-sentence.

Terminal signals, IDE run controls, and the two prefix keys
KeyHyper+ ⌘
D⌃ with D · send EOF⌃ with ⌘ with D · look up the word under the pointer
Z⌃ with Z · SIGTSTP, suspend the jobF5 · start debugging
X⌃ with R · run in the IDE⌃ with F5 · run without debugging
COpen CodexOpen Claude
V⌃ with V · Vim block-visual / literal prefix—
B⌃ with B · Tmux prefix—

✱ with C and ✱ with ⌘ with C are open -a commands like the yellow keys, so they can be repointed at whichever assistant you use.

Note

✱ with Z and ✱ with X deliberately do not shadow ⌘ with Z undo or ⌘ with X cut: those need no Hyper, so both spellings coexist on the same physical keys.

Five text clipboards

Number keys 6–0 become five independent text clipboards. ✱ with ⌘ plus a number copies the current selection into that slot; ✱ plus the number pastes it back.

Each slot is one file in your home directory
ChordWhat happens
✱ with ⌘ with 6 … ✱ with ⌘ with 0Copy the selection, then pbpaste > ~/.clip6 … ~/.clip0
✱ with 6 … ✱ with 0cat ~/.clip6 | pbcopy, then paste

Two things follow from that implementation, and both are useful:

  • The slots survive logout, reboot, and the system clipboard. They are ordinary files, so cat ~/.clip7 reads one from a shell and any editor can fill one without touching the keyboard at all.
  • They hold plain text only. Copying an image or a file into a slot stores whatever pbpaste renders as text, not the original object.
Note

V3.1 deliberately uses five slots on 6–0. Older configurations also used 1–5, so check your habits before upgrading.

Code-oriented shifter

The orange keys move the punctuation a programmer types all day within reach of the home row, with no ⇧ gymnastics for brackets.

Three bracket pairs on two keys, and := and != under one hand
KeyHyper+ ⌘+ ⌥
-_Zoom out—
=+Zoom in—
[({<
])}>
;:!—
'==—
/Toggle comment——
\Toggle comment——

The bracket keys are the payoff: [ and ] give all three pairs (round, curly and angle) from the same two positions. And because ; and ' sit side by side, : = and ! = are adjacent rolls, which is how Go and Rust assignment and comparison end up faster to type than on a bare keyboard.

Both ✱ with / and ✱ with \ emit ⌘ with /, the comment shortcut nearly every editor and IDE shares.

Next

Use system functions and reference for function keys, screenshots, symbols, customization, and troubleshooting.