Keybindings Reference
This page provides a complete reference of all keyboard shortcuts configured in Config-Sway. The configuration uses Vim-style HJKL navigation keys for consistency and efficiency.
Key Legend
| Key | Meaning |
|---|
Super | Windows key (Mod4) |
Shift | Shift key |
Ctrl | Control key |
Alt | Alt key (Mod1) |
H/J/K/L | Left/Down/Up/Right (Vim-style) |
The modifier key $mod is set to Mod4 (Super/Windows key) by default. All keybindings use this as the primary modifier.
Application Launchers
Quick access to frequently used applications:
| Keybinding | Action | Description |
|---|
Super+Enter | Launch Kitty | Opens the Kitty terminal emulator |
Super+F | Launch Firefox | Opens Firefox web browser |
Super+Z | Flameshot GUI | Opens Flameshot screenshot tool in GUI mode |
Config-Sway includes several Rofi-based menus for quick access to common tasks:
| Keybinding | Menu | Script Location |
|---|
Super+D | App launcher | ~/.config/rofi/scripts/selector-app.sh |
Super+Q | Power menu | ~/.config/rofi/scripts/power-menu.sh |
Super+A | Theme switcher | ~/.config/rofi/scripts/theme-switcher.sh |
Super+W | Wallpaper switcher | ~/.config/rofi/scripts/wallpaper-switcher.sh |
Super+E | Icon/emoji menu | ~/.config/rofi/scripts/menu-iconos.sh |
Super+Shift+Enter | Hacker mode layout | ~/.config/scripts/mode-hacker.sh |
Hacker Mode creates a custom terminal layout with:
- Left pane: Main terminal shell
- Top right:
tty-clock displaying time
- Bottom right:
cava audio visualizer
Window Management
Control windows and their behavior:
| Keybinding | Action | Description |
|---|
Super+C | Kill window | Close the focused window |
Super+O | Toggle split layout | Switch between horizontal and vertical splits |
Super+Shift+R | Reload config | Reload Sway configuration |
Super+Button3 | Toggle floating | Right-click with Super to toggle floating mode |
The keybindings for floating toggle (Super+U), fullscreen (Super+P), and exit (Super+M) are commented out in the default config. Uncomment line 17 in ~/.config/sway/config if you need these.
Focus Navigation (Vim-style)
Move focus between windows using Vim-style HJKL keys:
| Keybinding | Direction |
|---|
Super+H | Focus left |
Super+J | Focus down |
Super+K | Focus up |
Super+L | Focus right |
Moving Floating Windows
Two modes for moving floating windows with different step sizes:
Small Movements (50px)
| Keybinding | Direction |
|---|
Super+Shift+H | Move left 50px |
Super+Shift+J | Move down 50px |
Super+Shift+K | Move up 50px |
Super+Shift+L | Move right 50px |
Large Movements (150px)
| Keybinding | Direction |
|---|
Super+Alt+H | Move left 150px |
Super+Alt+J | Move down 150px |
Super+Alt+K | Move up 150px |
Super+Alt+L | Move right 150px |
Resizing Floating Windows
Resize floating windows in 50px increments:
| Keybinding | Action |
|---|
Super+Ctrl+H | Shrink width (left) |
Super+Ctrl+L | Grow width (right) |
Super+Ctrl+J | Shrink height (down) |
Super+Ctrl+K | Grow height (up) |
Workspace Management
Switching Workspaces
| Keybinding | Action |
|---|
Super+1 to Super+9 | Switch to workspace 1-9 |
Super+0 | Switch to workspace 10 |
Super+S | Switch to “magic” workspace |
Moving Windows to Workspaces
| Keybinding | Action |
|---|
Super+Shift+1 to Super+Shift+9 | Move window to workspace 1-9 |
Super+Shift+0 | Move window to workspace 10 |
Super+Shift+S | Move window to “magic” workspace |
The “magic” workspace is a special workspace accessible via Super+S. Use it as a scratchpad or temporary workspace for windows you want to access quickly.
Workspace Navigation with Mouse
| Keybinding | Action |
|---|
Super+Scroll Up | Next workspace |
Super+Scroll Down | Previous workspace |
Mouse Bindings
Enhance window management with mouse gestures:
| Keybinding | Action |
|---|
Super+Left Click | Move window (drag) |
Super+Middle Click | Resize window (drag) |
Super+Right Click | Toggle floating mode |
Audio Control
Control system audio with dedicated multimedia keys:
| Key | Action | Command |
|---|
XF86AudioRaiseVolume | Increase volume | wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ |
XF86AudioLowerVolume | Decrease volume | wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- |
XF86AudioMute | Toggle mute | wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle |
XF86AudioMicMute | Toggle mic mute | wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle |
Audio controls use wpctl (WirePlumber) with a volume limit of 100% (-l 1) to prevent accidental audio damage.
Brightness Control
| Key | Action | Command |
|---|
XF86MonBrightnessUp | Increase brightness | brightnessctl -e 4 -n 2 set 5%+ |
XF86MonBrightnessDown | Decrease brightness | brightnessctl -e 4 -n 2 set 5%- |
Brightness control uses exponential scaling (-e 4) and maintains a minimum value (-n 2) for better control at low brightness levels.
Control media playback with playerctl:
| Key | Action | Command |
|---|
XF86AudioNext | Next track | playerctl next |
XF86AudioPrev | Previous track | playerctl previous |
XF86AudioPlay | Play/Pause | playerctl play-pause |
XF86AudioPause | Play/Pause | playerctl play-pause |
Notification Control (Mako)
Manage notifications with Mako:
| Keybinding | Action | Command |
|---|
Super+N | Dismiss all notifications | makoctl dismiss -a |
Super+Shift+N | Toggle Do Not Disturb mode | makoctl mode -a dnd |
The following input settings are configured in ~/.config/sway/config:140-148:
Keyboard
- Layouts: US and Latin American (
us,latam)
- Layout switching:
Alt+Shift toggles between layouts
Touchpad
- Tap to click: Enabled
- Natural scrolling: Disabled
You can customize input settings by modifying the input blocks in ~/.config/sway/config. See the Sway input documentation for all available options.
Autostart Programs
These programs launch automatically when Sway starts:
| Program | Purpose | Configuration |
|---|
setwallpaper.sh | Sets wallpaper | ~/.config/scripts/setwallpaper.sh |
nm-applet | Network Manager tray | System tray applet |
waybar | Status bar | ~/.config/waybar/config-sway.jsonc |
mako | Notification daemon | ~/.config/mako/config |
autostart.sh | Custom autostart apps | ~/.config/scripts/autostart.sh |
The autostart.sh script automatically launches Firefox (workspace 1), VSCode (workspace 2), and Kitty (workspace 3) on startup. Comment out lines in ~/.config/scripts/autostart.sh if you don’t want these applications to start automatically.