155 lines
5.3 KiB
Text
155 lines
5.3 KiB
Text
### Key bindings
|
|
#
|
|
# Basics:
|
|
#
|
|
## Launch // Terminal ##
|
|
$bindsym $mod+Return exec $term_cwd
|
|
$bindsym $mod+Shift+Return exec $term
|
|
|
|
## Action // Kill focused window ##
|
|
$bindsym $mod+Shift+q kill
|
|
|
|
## Launch // Launcher ##
|
|
$bindsym $mod+d exec $menu
|
|
|
|
## Launch // Clipboard ##
|
|
$bindsym $mod+Shift+p exec $clipboard
|
|
|
|
# Drag floating windows by holding down $mod and left mouse button.
|
|
# Resize them with right mouse button + $mod.
|
|
# Despite the name, also works for non-floating windows.
|
|
# Change normal to inverse to use left mouse button for resizing and right
|
|
# mouse button for dragging.
|
|
floating_modifier $mod normal
|
|
|
|
## Action // Reload Sway Configuration ##
|
|
$bindsym $mod+Shift+c reload
|
|
|
|
## Action // Exit Sway ##
|
|
$bindsym $mod+Shift+e exec nwg-bar -x
|
|
|
|
# Media keys
|
|
$bindsym --locked XF86AudioRaiseVolume exec $volume_up
|
|
$bindsym --locked XF86AudioLowerVolume exec $volume_down
|
|
$bindsym --locked XF86AudioMute exec $volume_mute
|
|
$bindsym --locked XF86AudioPlay exec playerctl play-pause
|
|
$bindsym --locked XF86AudioNext exec playerctl next
|
|
$bindsym --locked XF86AudioPrev exec playerctl previous
|
|
|
|
# Brightness control
|
|
$bindsym --locked XF86MonBrightnessUp exec $brightness_up
|
|
$bindsym --locked XF86MonBrightnessDown exec $brightness_down
|
|
|
|
# Other
|
|
$bindsym XF86Search exec $menu
|
|
$bindsym XF86PowerOff exec systemctl poweroff
|
|
$bindsym XF86TouchpadToggle input type:touchpad events toggle enabled disabled
|
|
$bindsym XF86ScreenSaver exec $lock
|
|
#
|
|
# Moving around:
|
|
#
|
|
## Navigation // Move focus // $mod + ↑ ↓ ← → ##
|
|
$bindsym $mod+$left focus left
|
|
$bindsym $mod+$down focus down
|
|
$bindsym $mod+$up focus up
|
|
$bindsym $mod+$right focus right
|
|
# Or use $mod+[up|down|left|right]
|
|
$bindsym $mod+Left focus left
|
|
$bindsym $mod+Down focus down
|
|
$bindsym $mod+Up focus up
|
|
$bindsym $mod+Right focus right
|
|
|
|
## Navigation // Move focused window // $mod + Shift + ↑ ↓ ← → ##
|
|
$bindsym $mod+Shift+$left move left
|
|
$bindsym $mod+Shift+$down move down
|
|
$bindsym $mod+Shift+$up move up
|
|
$bindsym $mod+Shift+$right move right
|
|
# Ditto, with arrow keys
|
|
$bindsym $mod+Shift+Left move left
|
|
$bindsym $mod+Shift+Down move down
|
|
$bindsym $mod+Shift+Up move up
|
|
$bindsym $mod+Shift+Right move right
|
|
|
|
## Navigation // List all open windows in last-recently-used order ##
|
|
$bindsym $mod+p exec env RUST_BACKTRACE=1 swayr switch-window &>> /tmp/swayr.log
|
|
|
|
## Navigation // Switch to the last recently used window ##
|
|
$bindsym Mod1+Tab exec env RUST_BACKTRACE=1 swayr switch-to-urgent-or-lru-window &>> /tmp/swayr.log
|
|
|
|
## Navigation // Switch to the last recently used workspace ##
|
|
$bindsym $mod+Tab workspace back_and_forth
|
|
|
|
## Navigation // Switching between containers in the workspace // $mod + [] ##
|
|
$bindsym $mod+bracketright nop top_next
|
|
$bindsym $mod+bracketleft nop top_prev
|
|
|
|
#
|
|
# Workspaces:
|
|
#
|
|
## Navigation // Switch workspace // $mod + [number] ##
|
|
$bindsym $mod+1 workspace $ws1
|
|
$bindsym $mod+2 workspace $ws2
|
|
$bindsym $mod+3 workspace $ws3
|
|
$bindsym $mod+4 workspace $ws4
|
|
$bindsym $mod+5 workspace $ws5
|
|
$bindsym $mod+6 workspace $ws6
|
|
$bindsym $mod+7 workspace $ws7
|
|
$bindsym $mod+8 workspace $ws8
|
|
$bindsym $mod+9 workspace $ws9
|
|
$bindsym $mod+0 workspace $ws10
|
|
|
|
set $focus_ws [ "$focus_after_move" == 'true' ] && swaymsg workspace
|
|
|
|
## Action // Move focused window to workspace // $mod + Shift + [number] ##
|
|
$bindsym $mod+Shift+1 move container to workspace $ws1, exec $focus_ws $ws1
|
|
$bindsym $mod+Shift+2 move container to workspace $ws2, exec $focus_ws $ws2
|
|
$bindsym $mod+Shift+3 move container to workspace $ws3, exec $focus_ws $ws3
|
|
$bindsym $mod+Shift+4 move container to workspace $ws4, exec $focus_ws $ws4
|
|
$bindsym $mod+Shift+5 move container to workspace $ws5, exec $focus_ws $ws5
|
|
$bindsym $mod+Shift+6 move container to workspace $ws6, exec $focus_ws $ws6
|
|
$bindsym $mod+Shift+7 move container to workspace $ws7, exec $focus_ws $ws7
|
|
$bindsym $mod+Shift+8 move container to workspace $ws8, exec $focus_ws $ws8
|
|
$bindsym $mod+Shift+9 move container to workspace $ws9, exec $focus_ws $ws9
|
|
$bindsym $mod+Shift+0 move container to workspace $ws10, exec $focus_ws $ws10
|
|
|
|
## Launch // Open launcher in a new workspace ##
|
|
$bindsym $mod+Shift+d exec /usr/share/sway/scripts/first-empty-workspace.py --switch, exec $menu
|
|
|
|
## Navigation // Switch to a new workspace ##
|
|
$bindsym $mod+n exec /usr/share/sway/scripts/first-empty-workspace.py --switch
|
|
|
|
## Action // Move focused window to a new workspace ##
|
|
$bindsym $mod+Shift+n exec /usr/share/sway/scripts/first-empty-workspace.py --move
|
|
|
|
## Action // Move focused window to a new workspace and switch there ##
|
|
$bindsym $mod+Shift+m exec /usr/share/sway/scripts/first-empty-workspace.py --move --switch
|
|
|
|
#
|
|
# Layout stuff:
|
|
#
|
|
## Setting // Split windows horizontally ##
|
|
$bindsym $mod+b splith
|
|
## Setting // Split windows vertically ##
|
|
$bindsym $mod+v splitv
|
|
|
|
## Action // Switch to window stacking ##
|
|
$bindsym $mod+s layout stacking
|
|
## Action // Switch to window tabbing ##
|
|
$bindsym $mod+w layout tabbed
|
|
## Action // Toggle window splitting ##
|
|
$bindsym $mod+e layout toggle split
|
|
|
|
## Action // Toggle fullscreen ##
|
|
$bindsym $mod+f fullscreen
|
|
|
|
## Action // Toggle floating ##
|
|
$bindsym $mod+Shift+space floating toggle
|
|
|
|
## Navigation // Toggle focus between tiling and floating ##
|
|
$bindsym $mod+space focus mode_toggle
|
|
|
|
## Navigation // Swap focus to the parent window ##
|
|
$bindsym $mod+a focus parent
|
|
|
|
## Launch // Toggle Help ##
|
|
$bindsym $mod+question exec $help
|