# # 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 # | wlsunset | screen temperature # | swaylock | lock service # | swayidle | idle management # Variables set $mod Mod4 set $up j set $down k set $left l set $right semicolon set $term footclient set $shell bash -c set $igap 20 set $ogap $igap set $wallpaper ~/.cache/wallpaper set $lockwallpaper ~/.cache/lockwallpaper exec [ -f ~/.cache/wallpaper ] || cp /usr/share/backgrounds/sway/*_1920x1080.png ~/.cache/wallpaper exec [ -f ~/.cache/lockwallpaper ] || cp ~/.cache/wallpaper ~/.cache/lockwallpaper # Processes exec brightnessctl set 40% exec foot --server exec mako exec wlsunset -l 51.5 -L -0.1 -t 3000 -T 6000 exec_always sh -c "pkill pipewire; pipewire" exec_always sh -c "pkill pipewire-pulse; pipewire-pulse" exec_always sh -c "pkill wireplumber; wireplumber" exec_always sh -c "pkill yambar; yambar" exec swayidle -w \ timeout 300 swaylock -Fe -i "$lockwallpaper" \ timeout 600 swaymsg "output * power off" \ resume swaymsg "output * power on" \ before-sleep swaylock -f -i "$lockwallpaper" # 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.4 } # 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 --prompt='Run: ' 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 of Sway?' -B 'Yes, exit sway' 'swaymsg exit' bindsym $mod+Escape exit bindsym $mod+n exec makoctl dismiss bindsym $mod+i exec $term vim bindsym XF86PowerOff exec sudo halt bindsym --locked XF86MonBrightnessUp exec brightnessctl set +10% && brightnessctl --save bindsym --locked XF86MonBrightnessDown exec brightnessctl --min-value=10 set 10-% && brightnessctl --save 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" } # Scripts bindsym $mod+b exec $shell 'bookmark' bindsym $mod+Insert exec $shell 'bookmark add'