178 lines
5.3 KiB
Text
178 lines
5.3 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+semicolon 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+KP_Next move scratchpad
|
|
$flag+Prior scratchpad show
|
|
$flag+KP_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+KP_Next border pixel 1
|
|
$alt+Prior border normal 1 # Hide window title
|
|
$alt+KP_Prior border normal 1
|
|
|
|
$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"
|
|
$ws11 "11:Soc"
|
|
$ws12 "12:Ent"
|
|
}
|
|
|
|
bindsym {
|
|
$flag+1 workspace $ws1
|
|
$flag+2 workspace $ws2
|
|
$flag+3 workspace $ws3
|
|
$flag+4 workspace $ws4
|
|
$flag+5 workspace $ws5
|
|
$flag+6 workspace $ws6
|
|
$flag+7 workspace $ws7
|
|
$flag+8 workspace $ws8
|
|
$flag+9 workspace $ws9
|
|
$flag+0 workspace $ws10
|
|
$flag+minus workspace $ws11
|
|
$flag+equal workspace $ws12
|
|
|
|
$flag+Shift+1 move container to workspace $ws1, workspace $ws1
|
|
$flag+Shift+2 move container to workspace $ws2, workspace $ws2
|
|
$flag+Shift+3 move container to workspace $ws3, workspace $ws3
|
|
$flag+Shift+4 move container to workspace $ws4, workspace $ws4
|
|
$flag+Shift+5 move container to workspace $ws5, workspace $ws5
|
|
$flag+Shift+6 move container to workspace $ws6, workspace $ws6
|
|
$flag+Shift+7 move container to workspace $ws7, workspace $ws7
|
|
$flag+Shift+8 move container to workspace $ws8, workspace $ws8
|
|
$flag+Shift+9 move container to workspace $ws9, workspace $ws9
|
|
$flag+Shift+0 move container to workspace $ws10, workspace $ws10
|
|
$flag+Shift+minus move container to workspace $ws11, workspace $ws11
|
|
$flag+Shift+equal move container to workspace $ws12, workspace $ws12
|
|
|
|
$flag+Control+j focus output 'eDP-1'
|
|
$flag+Control+h workspace prev_on_output
|
|
$flag+Control+l workspace next_on_output
|
|
$flag+Control+k 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+j \
|
|
move container to output 'eDP-1', focus output 'eDP-1'
|
|
$flag+Control+Shift+h \
|
|
move container to workspace prev_on_output, workspace prev_on_output
|
|
$flag+Control+Shift+l \
|
|
move container to workspace next_on_output, workspace next_on_output
|
|
$flag+Control+Shift+k \
|
|
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 -e bash -c "zellij attach || zellij" # 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
|
|
|
|
# File explorer
|
|
$flag+e exec $term -e vifm
|
|
# Internet explorer
|
|
$flag+i exec firefox
|
|
}
|