Using it
Keybindings
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 bar — synsh 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+Spaceis the command bar — the one that takessynshintents and shows command output. It sits next toSuper+Backspaceso 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. Withoutsyn-confineinstalled, 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;Escapecloses it too. A brief flicker as it opens is upstream's — it detects the monitor scale late.The toggle is
spawn_togglein the bind table, and it is a general thing: any bind writtenspawn_toggle <command>closes what it started if the key comes back while it is still running. Plainspawnstays 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+/, thenF2on each), or with twobind =lines insynuirc. 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|cmdbarkey 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 toSuper+?: on a US layout that isSuper+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+1–9 |
Switch workspace — the whole desk by default; only the focused monitor under workspace_mode = per-monitor, see The Desktop |
Super+Shift+1–9 |
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/Kwalk stacking order;Alt+Tabwalks MRU. That difference is the whole reason both exist.
Super+Tabdoes not switch windows — it switches layouts. The seven and what each one does are in The Desktop → Layouts.
Super+,andSuper+.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, whichSuper+Shift+J/Kalready 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+Utoggles 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-speakandviberather 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+Tused to be the task manager. It is the theme manager now — the task manager had two binds and needed one, andCtrl+Alt+Deleteis the one everybody already reaches for. (logind'sCtrl+Alt+Delhandling 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_MUTEwith 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:
Sys_ReqwhenAltis 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 logsbind: 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 isbind = super+equal cmdbar—super+=does not work.A duplicate combo is not a conflict anyone sees — it is the older feature silently going dead.
handle_keybindingtakes the first match. synui logsDUPLICATE default bindat startup for exactly this reason: addingnight_lightonsuper+shift+nonce killedminimize_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+D → p, or primary=1 in
outputs.conf.