Using it

Keybindings

Edit on GitHub · last edited

synui's defaults. Override in ~/.config/synui/synuirc or /etc/synui/synuirc.

Lost? Super+C opens the control panel — the front door, listing every shortcut, generated from the live bind table so it can't drift from reality. Tapping Super alone opens the start menu.


Launching and the AI

Key Action
Super (tapped alone) Start menu (the bar's SYNAPSE badge)
Super+/ Shortcut palette, and the hotkey manager — not only the bindings on this page but every action with no key yet, and your installed applications. F2 on a row gives one a key or moves it; Delete takes it away, and the row stays so you can put it back
Super+C Control panel — every shortcut plus the settings
Super+Return Open a terminal — syntty since synui 0.1.0-359
Super+Space Command barsynsh intents and output capture
Super+= Application launcher (rofi)
Super+Backspace Ask the AI
Super+A Neural activity overlay (live synapd feed)
Super+Escape Welcome guide — seven pages on what this desktop does and which keys do it, layouts included. Also synui-welcome, and the Welcome Guide entry in the applications menu
Super+X Calculator — a whole expression ((1440-32)*0.8), not a four-function chain. pi, e, ans and sqrt/ln/log/sin… work, Up/Down recall the tape, Ctrl+C copies the answer, Ctrl+V pastes one in. syn-calc is the same evaluator on the command line
Super+semicolon Emoji picker — type to search, Tab for categories, Enter inserts
Super+Shift+I Image viewer — also what a file manager opens a picture with

Super+Space is the command bar — the one that takes synsh intents and shows command output. It sits next to Super+Backspace so the two AI popups are side by side on the keyboard.

A command the AI answers with runs sandboxed, in either popup: it can read your files and use the network, but it can only write to /tmp. Asking for an application by name ("open firefox") starts it normally. Without syn-confine installed, the bar shows the command instead of running it.

Super+= is rofi, the application launcher — it lists your installed apps and starts one. Pressing the key again while it is up closes it, so it behaves like the panels below it. Clicking away does not dismiss it, because rofi's Wayland backend cannot see clicks outside its own surface; Escape closes it too. A brief flicker as it opens is upstream's — it detects the monitor scale late.

The toggle is spawn_toggle in the bind table, and it is a general thing: any bind written spawn_toggle <command> closes what it started if the key comes back while it is still running. Plain spawn stays fire-and-forget, which is what you want from the terminal bind — the second press should give you a second terminal.

Want them the other way round? They are ordinary binds with one owner — swap them in the shortcut palette (Super+/, then F2 on each), or with two bind = lines in synuirc. A bind on a combo that already has one replaces it, so the swap is two lines.

⛔ There used to be a Super+Space opens row in the control panel, and a super_space = launcher|cmdbar key to go with it. Both are gone as of synui 0.1.0-338: they were a second place a keybinding was declared and they beat the first, re-seating the pair at the end of every config load — so a chord you moved in the palette was put back at the next login. The key is still parsed, only to log that it is ignored.

rofi follows the desktop theme — a theme switch rewrites its palette, and since rofi starts fresh on every keypress it picks the new colours up immediately.

Super+/ is the one to remember if you remember nothing else. It is the same list as this page, filtered as you type, built from the live bind table — so it includes anything you have rebound and cannot go stale. It also answers to Super+?: on a US layout that is Super+Shift+/, and the keyboard hands the compositor a different symbol when Shift is down, so both are bound to the same action. Reach for it either way.

Windows

Key Action
Super+Q / Super+Shift+Q Close window / quit compositor
Super+J / Super+K Focus next / previous
Super+Shift+J / Super+Shift+K Move window up / down the stack
Alt+Tab / Alt+Shift+Tab Most-recently-used cycle — "the window I was just in"
Super+H / Super+Shift+L Shrink / grow the master area — and a niri column's width
Super+, / Super+. niri only — pull the window into the column on its left / push it back out into its own column
Super+F / Super+M / Super+N Float / maximize / minimize
Super+Shift+N Restore the last minimized window
Super+Left / Super+Right / Super+Up / Super+Down Move the window left / right / up / down — or earlier / later in the layout
Super+Ctrl+Up / Super+Ctrl+Left Fill the screen height / width, and press again to put it back
Super+Shift+F Fullscreen (forces it — for games that only do "borderless")
Super+Shift+D Toggle window decorations (titlebar)
Super+Tab Cycle this desktop's layout — tiling → floating → monocle → AI → niri → spiral → cascade
Super+Shift+Y Cascade — straight to the overlapping-cards layout from wherever you are
Super+Shift+T Retile — back to tiling, and put every window back in it
Super+Shift+G Arrange without leaving the layout you are on — every window you have dragged goes back where the layout wants it. On a floating desktop that is the inset grid ("G for grid"), and it is the one tidy-up that leaves a floating desktop floating
Super+O / Super+Shift+O Move window to next / previous monitor
Super+19 Switch workspace — the whole desk by default; only the focused monitor under workspace_mode = per-monitor, see The Desktop
Super+Shift+19 Move window to workspace — it keeps the monitor it is on

Touchpad gestures

Gesture Action
Four fingers left / right Next / previous desktop — the one to the right comes in when the fingers move left. Stops at desktops 1 and 9
Four fingers up Open mission control
Four fingers down Close mission control

The action runs when the fingers lift. Two- and three-finger gestures are not touched: scrolling, pinch-to-zoom and app swipes work as before.

Each gesture is a bind, set in synuirc:

gesture = swipe:4:left  ws next
gesture = swipe:3:up    spawn syntty
gesture = pinch:4:in    overview open
ungesture = swipe:4:down

swipe takes 3–5 fingers and left right up down; pinch takes 2–5 fingers and in out. The action is anything a bind = line takes, and ungesture removes a default. Binding any direction of a finger count takes every swipe with that many fingers away from apps.

Control panel ▸ Input ▸ Touchpad gestures turns them all off at once, which hands every gesture back to apps. synctl gestures prints the table synui is using. Gestures do nothing on the lock screen or while a window is being moved or resized.

Super+J/K walk stacking order; Alt+Tab walks MRU. That difference is the whole reason both exist.

Super+Tab does not switch windows — it switches layouts. The seven and what each one does are in The Desktop → Layouts.

Super+, and Super+. are the only two keys that do nothing on six of the seven layouts, and that is not a bug: the others have no columns to move a window between. On niri they are the whole point — everything else is walking along the strip, which Super+Shift+J/K already does.

Look and feel

Key Action
Super+T Theme manager — fifteen: Prism and Prism Light (the house theme, and what a fresh install boots into), SYNAPSE, Dark, XP, 95, macOS 26, Aqua, Platinum, and six riced palettes
Super+W / Super+Shift+W Wallpaper picker / reload wallpaper (Tab scopes it to one monitor, m cycles the scaling mode, w opens the wallhaven browser)
Super+Ctrl+W Browse wallhaven.cc for a wallpaper — w there comes back to the picker, so one key flips between the two
Super+E Visual effects panel (scanline / curvature / aberration / glitch / phosphor)
Super+Shift+P Cursor theme picker ("P for pointer")
Super+S Event sounds
Super+Shift+A Desktop widgets manager — visualiser, sysmon, big clock, analog clock (five faces), music, quick-launch, post-it, Tuxagotchi
Super+Shift+B Night light ("blue light")
Super+Shift+X Crop an image ("X for cut") — opens on your recent images from Pictures, Wallpapers and Downloads

See The Desktop, Wallpapers, Window Effects, Cursor Themes, Sound Themes.

System

Key Action
Super+Ctrl+= / Super+Ctrl+- Scale the whole desktop — panels, apps and cursor together
Super+Ctrl+0 Back to 100%
Super+D Display settings (p sets the primary output — see below; m cycles display_mode: extend / mirror / external; d 10-bit colour, Shift+D HDR10 output, [ ] SDR white)
Super+I Network / Wi-Fi
Super+B Bluetooth
Super+P Power saving panel
Super+L Lock screen
Super+Space (on the lock/login screen only) Walk the keyboard layouts. Compositor binds are off while locked, so this chord means only this there. Clicking the chip does the same. On the desktop it is synctl layout next or a kbd_layout bind
Super+Z Screensaver and lock-screen appearance — five modes, off by default. Up/Down picks a row, Left/Right changes it, p previews, s saves
Super+G Game mode
Super+V Clipboard history
Super+Shift+U Screen reader — announce the focused window as focus moves, and press again to stop (syn-speak toggle). Also Control panel ▸ Sound ▸ Screen reader
Super+U Read whatever is highlighted right now, once (syn-speak selection)
Super+Shift+V Dictate — listen once, and type what you said where the cursor is (vibe voice type). V for voice; Super+V above is the clipboard
Super+R News feed (R for RSS — Super+N is minimize)
Super+Shift+R Start / stop screen recording
Super+Shift+M Do not disturb — no toasts, no chimes (its own confirmation still shows, so the key never looks dead)
Ctrl+Alt+Delete Task manager (processes, CPU/RAM/GPU)
Super+Shift+C Cat mode 🐈

The three speech keys are the reason they are keys at all. A screen reader that can only be started from a terminal is not one — the person who needs it is the person who cannot read the terminal to start it. And Super+Shift+U toggles rather than having an off chord of its own: a reader talking over you has to be stoppable with the key you just pressed, not by remembering a different one.

All three spawn syn-speak and vibe rather than doing the talking themselves — the speech stack lives there, and a compositor that grew its own would be a third voice on the machine. On a box without them the key spawns a command that is not there, which costs a log line and nothing else.

The voices, the rate, what to install where nothing speaks, and why this is an announcer rather than a full screen reader: Speech and dictation.

Super+T used to be the task manager. It is the theme manager now — the task manager had two binds and needed one, and Ctrl+Alt+Delete is the one everybody already reaches for. (logind's Ctrl+Alt+Del handling is a VT/console thing, so inside a Wayland session the key reaches the compositor.)

Media and hardware keys

Bare keys, no modifier — they are dedicated keys and nothing else claims them.

Key Action
XF86AudioRaiseVolume / LowerVolume / Mute Volume, with an OSD
XF86MonBrightnessUp / Down Backlight
XF86Display Cycle display_mode — extend / duplicate / built-in off. The laptop key with the two monitors on it (Fn+F7 on a ThinkPad)

Bare-key binds matter for hardware like USB volume knobs, which report plain KEY_VOLUMEUP/KEY_VOLUMEDOWN/KEY_MUTE with no modifier held. Before synui had audio binds, those events reached the bind table and matched nothing.

Screenshots

Key Action
Print Screenshot the monitor you're on
Shift+Print / Super+Shift+S Screenshot an area (drag it out)
Ctrl+Print Screenshot every monitor at once

Screenshots land in ~/Pictures/Screenshots and on the clipboard, so you can paste one straight into a chat without opening the file.

Note: Print arrives as Sys_Req when Alt is held — that's an X11ism, not a bug.


Rebinding

bind = super+shift+z spawn my-script

in synuirc. Actions are the names the default table uses (term, cmdbar, theme, sounds, widgets, cursor, alt_tab, …), plus spawn <command>.

No comma. The line is split on the first whitespace — everything before it is the combo, everything after is the action and its argument. A trailing comma becomes part of the key name, and z, is not a keysym, so the whole bind is dropped (synui logs bind: bad key).

Punctuation keys are spelled by name, because the combo is split on + and a literal = or + cannot be the key. Use the XKB keysym name: equal, minus, comma, period, slash. The command bar's default is bind = super+equal cmdbarsuper+= does not work.

A duplicate combo is not a conflict anyone sees — it is the older feature silently going dead. handle_keybinding takes the first match. synui logs DUPLICATE default bind at startup for exactly this reason: adding night_light on super+shift+n once killed minimize_restore, and it only turned up because the table happened to get grepped.

The gaming keys

They are there on a fresh install as of 0.2.9 — your session runs syn-arcade binds ensure, which refreshes the block in synuirc if there is one and writes it if there is not. Before that they lived only in a synuirc somebody had run binds install against, so Super+F10, F11 and F12 did nothing at all on a machine nobody had configured.

Key Action
Super+F10 Big screen mode — the ten-foot interface
Super+F11 Toggle the MangoHud overlay, inside a running game
Super+F12 Move it
syn-arcade binds                             # are they installed, and which
syn-arcade binds install --toggle=super+u --cycle=super+y     # or pick your own
syn-arcade binds remove                      # and a block you removed stays removed

They land in synuirc as ordinary bind = lines, which is deliberate: it makes them defaults like any other, so the Super+/ palette can rebind them and Ctrl+Shift+R does not wipe them the way it would a palette rebind.

They toggle the overlay inside a game that is already running — see Gaming for why that is possible.


Two things that will confuse you if you hit them

Super+Shift+F exists because "fullscreen" is a lie. Some games (Doom KEX with v_windowmode=1) are borderless windowed and never send _NET_WM_STATE_FULLSCREEN, so the compositor correctly tiles them and you assume synui is broken. Either set the game to true fullscreen (v_windowmode=2) or force it with Super+Shift+F.

Set a primary output if games open on the wrong monitor. Xwayland used to mark no primary output, so SDL fell back to connector order and games opened on whichever panel happened to be first. Super+Dp, or primary=1 in outputs.conf.

See also: synui, Commands.