# # SWAY CONFIG # # REQUIREMENTS: # | foot | terminal emulator # | brightnessctl | control brightness # | pipewire | audio processor # | pipewire-pulse | PulseAudio support for pipewire # | wireplumber | audio session manager # | mako | notification service # | bemenu | menu prompt # | yambar | status bar # Variables set $mod Mod4 set $up j set $down k set $left l set $right semicolon set $term footclient set $igap 20 set $ogap $igap set $wallpaper ~/.cache/wallpaper exec [ -f ~/.cache/wallpaper ] || cp /usr/share/backgrounds/sway/*_1920x1080.png ~/.cache/wallpaper # Processes exec brightnessctl --restore exec foot --server exec pipewire exec pipewire-pulse exec wireplumber exec mako exec_always sh -c "pkill yambar; yambar" # Input seat * hide_cursor when-typing enable input "type:touchpad" { dwt enable natural_scroll disable tap enable middle_emulation enable } input "type:keyboard" { xkb_layout gb xkb_options caps:ctrl_modifier } # Output output * bg $wallpaper fill output eDP-1 { resolution 1920x1080@60Hz scale 1.5 } # Gaps gaps inner $igap gaps outer $ogap # Style default_border pixel 2px set $focuscol "#b4befe" set $inactcol "#313244" client.focused $focuscol $focuscol #000000 $focuscol client.unfocused $inactcol $inactcol #000000 $inactcol client.focused_inactive $inactcol $inactcol #000000 $inactcol # Bindings floating_modifier $mod normal bindsym $mod+Space exec bemenu-run -p ">" -H 23 bindsym $mod+Return exec $term bindsym $mod+q kill bindsym $mod+r reload bindsym $mod+e exec swaynag -t warning -m 'Do you want to logout from Sway?' -B 'Yes, exit sway' 'swaymsg exit' bindsym $mod+Escape exit bindsym XF86PowerOff exec sudo halt bindsym --locked XF86MonBrightnessUp exec brightnessctl --save set +10% bindsym --locked XF86MonBrightnessDown exec brightnessctl --save --min-value=10 set 10-% bindsym XF86AudioMute exec wpctl set-mute @DEFAULT_SINK@ toggle bindsym XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_SINK@ 10%+ bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_SINK@ 10%- bindsym $mod+h splith bindsym $mod+v splitv bindsym $mod+c layout stacking bindsym $mod+t layout tabbed bindsym $mod+s layout toggle split bindsym $mod+m fullscreen bindsym $mod+Tab floating toggle bindsym $mod+Shift+s sticky toggle bindsym $mod+Shift+minus move scratchpad bindsym $mod+Control+minus focus mode_toggle bindsym $mod+minus scratchpad show # All Gaps (toggle, increase, reduce, reset) bindsym $mod+g gaps inner current toggle $igap, gaps outer current toggle $ogap bindsym $mod+Ctrl+g gaps inner current plus 10, gaps outer current plus 10 bindsym $mod+Shift+g gaps inner current minus 10, gaps outer current minus 10 bindsym $mod+Shift+Ctrl+g gaps inner all set $igap, gaps outer all set $ogap # Outer gaps (increase, reduce, reset) bindsym $mod+Ctrl+o gaps outer current plus 10, gaps vertical current plus 10 bindsym $mod+Shift+o gaps outer current minus 10, gaps vertical current minus 10 bindsym $mod+Shift+Ctrl+o gaps outer all set $ogap # Inner gaps (increase, reduce, reset) bindsym $mod+Ctrl+i gaps inner current plus 10, gaps vertical current plus 10 bindsym $mod+Shift+i gaps inner current minus 10, gaps vertical current minus 10 bindsym $mod+Shift+Ctrl+i gaps inner all set $igap # Focus window bindsym $mod+$up focus up bindsym $mod+$down focus down bindsym $mod+$left focus left bindsym $mod+$right focus right bindsym $mod+a focus parent # Swap window bindsym $mod+Shift+$up move up 20px bindsym $mod+Shift+$down move down 20px bindsym $mod+Shift+$left move left 20px bindsym $mod+Shift+$right move right 20px # Resize window bindsym $mod+Control+$up resize grow height 20px bindsym $mod+Control+$down resize shrink height 20px bindsym $mod+Control+$left resize shrink width 20px bindsym $mod+Control+$right resize grow width 20px # Switch to workspace bindsym $mod+1 workspace number 1 bindsym $mod+2 workspace number 2 bindsym $mod+3 workspace number 3 bindsym $mod+4 workspace number 4 bindsym $mod+5 workspace number 5 bindsym $mod+6 workspace number 6 bindsym $mod+7 workspace number 7 bindsym $mod+8 workspace number 8 bindsym $mod+9 workspace number 9 bindsym $mod+0 workspace number 0 # Move focused to workspace bindsym $mod+Shift+1 move container to workspace number 1 bindsym $mod+Shift+2 move container to workspace number 2 bindsym $mod+Shift+3 move container to workspace number 3 bindsym $mod+Shift+4 move container to workspace number 4 bindsym $mod+Shift+5 move container to workspace number 5 bindsym $mod+Shift+6 move container to workspace number 6 bindsym $mod+Shift+7 move container to workspace number 7 bindsym $mod+Shift+8 move container to workspace number 8 bindsym $mod+Shift+9 move container to workspace number 9 bindsym $mod+Shift+0 move container to workspace number 0 bindsym $mod+z mode "resize" mode "resize" { bindsym $up resize shrink height 10px bindsym $down resize grow height 10px bindsym $left resize shrink width 10px bindsym $right resize grow width 10px bindsym Up resize shrink height 10px bindsym Down resize grow height 10px bindsym Left resize shrink width 10px bindsym Right resize grow width 10px bindsym Return mode "default" bindsym Escape mode "default" }