1
0
Fork 0
dotfiles/sway/config

161 lines
5.5 KiB
Text

### Variables
set $mod Mod4
set $left n
set $down r
set $up t
set $right d
set $term termite
set $menu j4-dmenu-desktop --dmenu="bemenu -i -l 10 --fn \"Dejavu Sans Mono\" 10" --no-generic --term=termite --usage-log="$HOME/.cache/j4-dmenu-desktop.log"
set $locker swaylock -f -s center -i "~/.config/sway/lockscreen.png"
### Font
font pango:DejaVu Sans Mono 9
### Key bindings
# Basics
bindsym $mod+Return exec $term
bindsym $mod+Shift+x kill
bindsym $mod+a exec $menu
bindsym $mod+Shift+c reload
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit'
floating_modifier $mod normal
# Moving around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# Switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
bindsym $mod+mod3+m workspace 1
bindsym $mod+mod3+comma workspace 2
bindsym $mod+mod3+period workspace 3
bindsym $mod+mod3+n workspace 4
bindsym $mod+mod3+r workspace 5
bindsym $mod+mod3+t workspace 6
bindsym $mod+mod3+h workspace 7
bindsym $mod+mod3+g workspace 8
bindsym $mod+mod3+f workspace 9
bindsym $mod+mod3+space workspace 10
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
bindsym $mod+Shift+mod3+m move container to workspace 1
bindsym $mod+Shift+mod3+comma move container to workspace 2
bindsym $mod+Shift+mod3+period move container to workspace 3
bindsym $mod+Shift+mod3+n move container to workspace 4
bindsym $mod+Shift+mod3+r move container to workspace 5
bindsym $mod+Shift+mod3+t move container to workspace 6
bindsym $mod+Shift+mod3+h move container to workspace 7
bindsym $mod+Shift+mod3+g move container to workspace 8
bindsym $mod+Shift+mod3+f move container to workspace 9
bindsym $mod+Shift+mod3+space move container to workspace 10
# Multiple monitors
bindsym $mod+Shift+H move workspace to output left
bindsym $mod+Shift+G move container to output left
bindsym $mod+Shift+F move container to output right
bindsym $mod+Shift+Q move workspace to output right
# Layout stuff
bindsym $mod+s splith
bindsym $mod+o splitv
bindsym $mod+i layout stacking
bindsym $mod+v layout tabbed
bindsym $mod+l layout toggle split
# Make the current focus fullscreen
bindsym $mod+e fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+space focus mode_toggle
# move focus to the parent container
bindsym $mod+u focus parent
# Scratchpad
bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show
# Mako keybindings
bindsym Ctrl+space exec makoctl dismiss
bindsym Ctrl+Shift+space exec makoctl dismiss --all
# Resizing containers
mode "resize" {
bindsym $left resize shrink width 80px
bindsym Shift+$left resize shrink width 20px
bindsym $down resize grow height 80px
bindsym Shift+$down resize grow height 20px
bindsym $up resize shrink height 80px
bindsym Shift+$up resize shrink height 20px
bindsym $right resize grow width 80px
bindsym Shift+$right resize grow width 20px
bindsym Left resize shrink width 80px
bindsym Down resize grow height 80px
bindsym Up resize shrink height 80px
bindsym Right resize grow width 80px
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+c mode "resize"
# Status Bar
bar {
position top
height 25
font pango:DejaVu Sans Mono 10
status_command i3blocks
}
# Shutdown, reboot, lock srceen
set $mode_system System (b) blank, (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
mode "$mode_system" {
bindsym b exec 'sleep 1 && killall -s SIGUSR1 swayidle', mode "default"
bindsym l exec '$locker', mode "default"
bindsym e exec swaymsg exit, mode "default"
bindsym s exec '$locker && systemctl suspend', mode "default"
bindsym h exec '$locker && systemctl hibernate', mode "default"
bindsym r exec systemctl reboot, mode "default"
bindsym Shift+s exec systemctl poweroff -i, mode "default"
bindsym Return mode "default"
bindsym mod3+Return mode "default"
bindsym Escape mode "default"
bindsym mod3+Escape mode "default"
}
bindsym $mod+Shift+P mode "$mode_system"
# Systemd environment
exec systemctl --user import-environment
exec systemctl --user start sway-session.target
# Device specific configuration
include device
# Global configuration
include /etc/sway/config.d/*