166 lines
5.2 KiB
Text
166 lines
5.2 KiB
Text
#
|
|
# ~/.config/sway/commands
|
|
# Keybinds for sway
|
|
#
|
|
|
|
# Variables
|
|
set {
|
|
$alt Mod1
|
|
$flag Mod4
|
|
$term alacritty
|
|
$notify ~/.scripts/notify.sh
|
|
}
|
|
|
|
# Focus
|
|
bindsym {
|
|
$flag+h focus left
|
|
$flag+j focus down
|
|
$flag+k focus up
|
|
$flag+l focus right
|
|
|
|
$flag+Left focus left
|
|
$flag+Down focus down
|
|
$flag+Up focus up
|
|
$flag+Right focus right
|
|
|
|
$flag+m focus mode_toggle
|
|
$flag+p focus parent
|
|
}
|
|
|
|
# Move windows
|
|
bindsym {
|
|
$flag+Shift+h move left
|
|
$flag+Shift+j move down
|
|
$flag+Shift+k move up
|
|
$flag+Shift+l move right
|
|
|
|
$flag+Shift+Left move left
|
|
$flag+Shift+Down move down
|
|
$flag+Shift+Up move up
|
|
$flag+Shift+Right move right
|
|
|
|
$flag+Next move scratchpad
|
|
$flag+Prior scratchpad show
|
|
}
|
|
|
|
# Layouts
|
|
bindsym {
|
|
$flag+w layout toggle split
|
|
$flag+x layout tabbed
|
|
$flag+c split h
|
|
$flag+v split v
|
|
|
|
$flag+f floating enable, border normal 1
|
|
$flag+Shift+f floating disable, border pixel 1
|
|
|
|
$alt+Next border pixel 1 # Show window title
|
|
$alt+Prior border normal 1 # Hide window title
|
|
|
|
$flag+s sticky toggle
|
|
}
|
|
|
|
# Workspaces
|
|
set {
|
|
$ws1 "1:1"
|
|
$ws2 "2:2"
|
|
$ws3 "3:3"
|
|
$ws4 "4:4"
|
|
$ws5 "5:5"
|
|
$ws6 "6:6"
|
|
$ws7 "7:7"
|
|
$ws8 "8:8"
|
|
$ws9 "9:9"
|
|
$ws10 "10:10"
|
|
$ws0 "0:¯\_(ツ)_/¯"
|
|
}
|
|
|
|
bindsym {
|
|
$flag+ampersand workspace $ws1
|
|
$flag+eacute workspace $ws2
|
|
$flag+quotedbl workspace $ws3
|
|
$flag+apostrophe workspace $ws4
|
|
$flag+parenleft workspace $ws5
|
|
$flag+section workspace $ws6
|
|
$flag+egrave workspace $ws7
|
|
$flag+exclam workspace $ws8
|
|
$flag+ccedilla workspace $ws9
|
|
$flag+agrave workspace $ws10
|
|
$flag+parenright workspace $ws0
|
|
|
|
$flag+Shift+ampersand move container to workspace $ws1, workspace $ws1
|
|
$flag+Shift+eacute move container to workspace $ws2, workspace $ws2
|
|
$flag+Shift+quotedbl move container to workspace $ws3, workspace $ws3
|
|
$flag+Shift+apostrophe move container to workspace $ws4, workspace $ws4
|
|
$flag+Shift+parenleft move container to workspace $ws5, workspace $ws5
|
|
$flag+Shift+section move container to workspace $ws6, workspace $ws6
|
|
$flag+Shift+egrave move container to workspace $ws7, workspace $ws7
|
|
$flag+Shift+exclam move container to workspace $ws8, workspace $ws8
|
|
$flag+Shift+ccedilla move container to workspace $ws9, workspace $ws9
|
|
$flag+Shift+agrave move container to workspace $ws10, workspace $ws10
|
|
$flag+Shift+parenright move container to workspace $ws0, workspace $ws0
|
|
|
|
$flag+Control+h focus output 'eDP-1'
|
|
$flag+Control+j workspace prev_on_output
|
|
$flag+Control+k workspace next_on_output
|
|
$flag+Control+l focus output 'HDMI-A-1'
|
|
|
|
$flag+Control+Down focus output 'eDP-1'
|
|
$flag+Control+Left workspace prev_on_output
|
|
$flag+Control+Right workspace next_on_output
|
|
$flag+Control+Up focus output 'HDMI-A-1'
|
|
|
|
$flag+Control+Shift+h \
|
|
move container to output 'eDP-1', focus output 'eDP-1'
|
|
$flag+Control+Shift+j \
|
|
move container to workspace prev_on_output, workspace prev_on_output
|
|
$flag+Control+Shift+k \
|
|
move container to workspace next_on_output, workspace next_on_output
|
|
$flag+Control+Shift+l \
|
|
move container to output 'HDMI-A-1', focus output 'HDMI-A-1'
|
|
|
|
$flag+Control+Shift+Down \
|
|
move container to output 'eDP-1', focus output 'eDP-1'
|
|
$flag+Control+Shift+Left \
|
|
move container to workspace prev_on_output, workspace prev_on_output
|
|
$flag+Control+Shift+Right \
|
|
move container to workspace next_on_output, workspace next_on_output
|
|
$flag+Control+Shift+Up \
|
|
move container to output 'HDMI-A-1', focus output 'HDMI-A-1'
|
|
}
|
|
|
|
# System
|
|
bindsym --locked {
|
|
# Brightness
|
|
XF86MonBrightnessDown exec brightnessctl -e s 5%- && $notify -b
|
|
XF86MonBrightnessUp exec brightnessctl -e s +5% && $notify -b
|
|
|
|
# Volume control (Pulsemixer is slow!)
|
|
XF86AudioRaiseVolume exec pamixer -i 2 --set-limit 100 && $notify -v
|
|
XF86AudioLowerVolume exec pamixer -d 2 && $notify -v
|
|
XF86AudioMute exec pamixer -t && $notify -v
|
|
XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
|
|
|
# Media control
|
|
F7 exec playerctl play-pause
|
|
Shift+XF86AudioLowerVolume exec playerctl previous
|
|
Shift+XF86AudioRaiseVolume exec playerctl next
|
|
}
|
|
|
|
# Special commands
|
|
set $fzf ~/.scripts/fzf-jump
|
|
bindsym {
|
|
# Reload sway
|
|
$alt+Shift+r reload
|
|
# Dialog to exit sway
|
|
$alt+Shift+e exec swaynag -t warning -m 'Do you really want to exit sway?' \
|
|
-B 'Yes, exit sway' 'swaymsg exit'
|
|
|
|
$flag+q kill # Kill focused window
|
|
$flag+Return exec $term # Start a terminal
|
|
$flag+Delete exec swaylock # Lockscreen
|
|
|
|
# Start application launcher
|
|
$alt+space exec $term --title 'FZF-Jump' -e $fzf/launcher.sh
|
|
# Window switcher
|
|
$alt+Tab exec $term --title 'FZF-Jump' -e $fzf/standalone.sh $fzf/modules/windows.sh $fzf/modules/workspaces.sh
|
|
}
|