Documentation / Keybindings

Keybindings

Nearly every keybind lives in one place — Configs/hypr/keybinds.lua — grouped as below. Some shell IPC calls have no keybind on purpose and are for scripts only (for example bar setSkin, inference enter/exit). One exception: SUPER+SHIFT+W (see Quickshell Surfaces below) is bound at runtime by the shell itself, not keybinds.lua, because it only exists while a plugin needs it.

The keybinds cheatsheet (SUPER+K) and the launcher’s ! mode both read Hyprland’s own live bind table, not this page or keybinds.lua directly — so after editing keybinds.lua or pulling an update that changes it, run aphotic reload --full (or fully restart Hyprland) to see the change reflected there. A plain aphotic reload only reloads Quickshell’s own modules and never touches Hyprland’s bind table.

Launcher

See Supported Features for what each prefix mode does inside the launcher.

Keys Action
Super + A or Super + Space Open the launcher (apps, clipboard, emoji, windows, themes and wallpapers, projects, settings, keybinds, calculator)

Apps & Tools

Keys Action
Super + T Launch Kitty
Super + E Launch Thunar
Super + C Launch VS Code
Super + F Launch Firefox
Super + S Screenshot — simple region select via grim/slurp/swappy, no extra frills
Super + W Open the wallpaper picker over the desktop (wallpapers in the active theme)
Super + Ctrl + W Browse every theme’s wallpapers in the launcher
Super + , / Super + . Cycle to the previous/next theme (aphotic theme prev/next)
Super + B Restart the Quickshell daemon (aphotic-shell.service)
Super + Shift + B Aphotic recovery surface — the one bind that still works when the shell itself won’t start

Quickshell Surfaces

Keys Action
Super + D Command Center (tabbed dashboard overlay)
Super + I Settings Control Center
Super + Shift + A Intelligence quick-chat popout
Super + N Toggle notification center
Super + Shift + N Clear all notifications
Super + Shift + D Toggle Do Not Disturb
Super + Y AUR/official package search + install (Arch-only; no-ops if neither yay nor paru is on PATH)
Super + L Lock screen
Super + Backspace Session / power menu — lock, suspend, log out, hibernate, reboot, shut down
Super + M Session menu (same as Super + Backspace)
Super + Ctrl + Shift + B Cycle bar style (Full → Dock → Taskbar → Minimal → Capsule)
Super + Shift + W Open the plugin workspace host — only bound while an installed plugin registers one (e.g. Agent Audit, Dev Ports); see Supported Features. Unlike every other bind on this page, this one is set at runtime, not in keybinds.lua
Super + K Toggle the keybinds cheatsheet

SUPER+SHIFT+W needs two things at once: a plugin installed that registers a workspace surface, and that plugin’s required capability layer active in your installed profile. If a workspace plugin is installed but the combo still does nothing, run aphotic doctor — a no layers recorded in aphotic.toml line there means the layer check has nothing to match against, which is also what leaves the Settings → System profile reading blank.

Screen Capture

The real Quickshell picker (drag-select with live client-window snapping and a freeze-mode preview), distinct from the plain Super+S script above.

Keys Action
Super + Shift + S Open the picker
Super + Ctrl + S Open the picker in freeze-mode (screen freezes first, then select)
Super + Alt + S Open the picker, copy to clipboard only (no file saved)
Super + Ctrl + Alt + S Freeze-mode + clipboard-only combined
Super + Shift + C Eyedropper — click a pixel to copy its hex color to the clipboard

Media, Audio & Brightness

Keys Action
XF86AudioPlay / XF86AudioPause Play/pause the active MPRIS player
XF86AudioNext / XF86AudioPrev Next/previous track
Super + Ctrl + O Cycle audio output device
XF86AudioRaiseVolume / XF86AudioLowerVolume Volume up/down
XF86AudioMute Toggle mute
XF86AudioMicMute Toggle mic mute
XF86MonBrightnessUp / XF86MonBrightnessDown Brightness up/down

Windows & Layout

Keys Action
Super + Q Close the focused window
Super + Alt + Q Force-kill the focused window
Super + V Toggle floating
Super + P Toggle pseudo-tiling
Super + Ctrl + F Toggle pin (keep window on every workspace)
Super + J Toggle split direction
Super + Shift + F Toggle fullscreen
Super + ←/→/↑/↓ Move focus between windows
Super + Shift + ←/→/↑/↓ Move (swap) the focused window in a direction
Alt + Tab Open the window switcher on the next window (see Window switcher)
Alt + Shift + Tab Open the window switcher on the previous window
Super + G Toggle group
Super + Ctrl + H / Super + Ctrl + L Cycle group tabs backward/forward
Super + LMB drag Move window
Super + RMB drag Resize window

Window switcher

Alt+Tab opens an overlay that snapshots every window once. While it’s open (holding Alt is optional for every key below):

Keys Action
Tab / Shift + Tab Next / previous window
← / → Previous / next workspace
↑ / ↓ Previous / next window in that workspace
A S D F G H J K L ; Jump to workspace 1–10 (A is 1, ; is 10)
1–9 Pick the window with that badge
Release Alt, or Enter / Space Switch to the selection
Esc Cancel

Workspaces

Keys Action
Super + 0–9 Switch to workspace
Super + Shift + 0–9 Move window to workspace
Super + Scroll Cycle workspaces
Super + Ctrl + ↓ Jump to the nearest empty workspace
Super + Ctrl + Tab / Super + Ctrl + Shift + Tab Cycle forward/backward through open special (scratchpad) workspaces

Special workspaces aren’t created by a default keybind yet — cycling only does something once one exists (e.g. via hyprctl dispatch movetoworkspace special:name).

Launcher Modes

The launcher (Super+A or Super+Space) supports multiple modes through prefix characters, all inside the same search box:

Type Mode Backed by
(nothing) Search & launch installed apps, sorted by how often you actually use them Desktop entries + a per-app launch count
> Clipboard history (pin frequent snippets/commands so they survive cliphist’s rolling history) cliphist
: Emoji picker Configs/quickshell/aphotic/data/emoji.txt
/ Switch to an open window Hyprland’s own window list
~ Browse themes; ~<theme>/ lists that theme’s wallpapers Theme folders in ~/.config/awww
@ Jump to a project — opens a terminal running claude, plus VS Code if it’s installed Git repos under ~/Projects/~/repos (or your configured project roots)
? Jump to a Settings category or plugin pane Settings’ own search index
! Search keybinds Hyprland’s live bind table
= Calculator A built-in expression parser (never eval)

Customization

~/.config/hypr/custom.lua is never overwritten by the installer or aphotic update — put your own binds and other Hyprland tweaks there and they survive every re-run.