set $mod Mod4 set $left h set $down j set $up k set $right l set $term kitty set $menu bemenu-run -l 5 set $dmenu bemenu set $file_manager dolphin default_border pixel 2 default_floating_border pixel 2 titlebar_border_thickness 2 titlebar_padding 6 4 smart_gaps off smart_borders off gaps inner 0 gaps outer 0 hide_edge_borders none show_marks yes focus_follows_mouse no focus_on_window_activation smart # ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ # ┃ Outputs ┃ # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ output "Chimei Innolux Corporation 0x142B Unknown" { mode 1920x1080@60Hz pos 0 0 # scale 1.25 } output 'Acer Technologies EK220Q H3 14301552C3W01' { mode 1920x1080@100Hz } seat * xcursor_theme Vimix-White 32 exec gsettings set org.gnome.desktop.interface cursor-theme Vimix-White exec gsettings set org.gnome.desktop.interface cursor-size 32 # Services # DBUS exec dbus-update-activation-environment \ --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway # Clipboard exec wl-paste --watch cliphist store # swayidle exec swayidle -w \ timeout 600 'swaylock' \ timeout 900 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ before-sleep 'swaylock' # ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ # ┃ Inputs ┃ # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ # MSI touchpad input "1267:12930:PNP0C50:00_04F3:3282_Touchpad" { natural_scroll enabled pointer_accel 0 dwt enabled tap enabled click_method clickfinger scroll_method two_finger } input "type:keyboard" { repeat_delay 200 repeat_rate 30 } # ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ # ┃ Keybinds ┃ # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ # Open terminal bindsym $mod+Return exec $term # Kill focused window bindsym $mod+q kill # Start your launcher bindsym $mod+Space exec $menu # File manager bindsym $mod+e exec $file_manager # Open ungoogled chromium bindsym $mod+b exec /usr/bin/chromium \ --force-dark-mode \ --enable-features=WebUIDarkMode bindsym $mod+Shift+b exec /usr/bin/firefox # Reload the configuration file bindsym $mod+Shift+c reload # Power menu bindsym $mod+p exec /usr/local/bin/sway-power # Recall last notifications bindsym $mod+grave exec makoctl restore # Exit sway bindsym $mod+Shift+e exec swaynag -e bottom \ -m 'EXIT SWAY SESSION' \ -b ' YES ' 'swaymsg exit' \ -s ' NO ' # === Display === # Lid close handling bindswitch --reload --locked lid:on output eDP-1 disable bindswitch --reload --locked lid:off output eDP-1 enable # === Navigation === # Move your focus around bindsym $mod+$left focus left bindsym $mod+$down focus down bindsym $mod+$up focus up bindsym $mod+$right focus right # Or use $mod+[up|down|left|right] bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right # Move the focused window with the same, but add Shift bindsym $mod+Shift+$left move left bindsym $mod+Shift+$down move down bindsym $mod+Shift+$up move up bindsym $mod+Shift+$right move right # Ditto, with arrow keys bindsym $mod+Shift+Left move left bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right # === Workspaces === # 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 10 # Move focused container 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 10 # Make the current focus fullscreen bindsym $mod+f fullscreen # Toggle the current focus between tiling and floating mode bindsym $mod+Shift+space floating toggle # === Resizing containers === mode "resize" { # left will shrink the containers width # right will grow the containers width # up will shrink the containers height # down will grow the containers height bindsym $left resize shrink width 10px bindsym $down resize grow height 10px bindsym $up resize shrink height 10px bindsym $right resize grow width 10px # Ditto, with arrow keys bindsym Left resize shrink width 10px bindsym Down resize grow height 10px bindsym Up resize shrink height 10px bindsym Right resize grow width 10px # Return to default mode bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+r mode "resize" # Switch to previous workspace bindsym $mod+bracketleft workspace prev bindcode --whole-window 275 workspace prev # Switch to next workspace bindsym $mod+bracketright workspace next bindcode --whole-window 276 workspace next # Split view horizontally bindsym $mod+equal slith # Split view vertically bindsym $mod+minus slitv # === Layouts === # Activate stacking layout bindsym $mod+Shift+s layout stacking # Activate tabbed layout bindsym $mod+t layout tabbed # Toggle split layout bindsym $mod+s layout toggle split # === Media keys === # Special keys to adjust volume via PulseAudio bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5% bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5% bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle # Special keys to control media via playerctl bindsym --locked XF86AudioPlay exec playerctl play-pause bindsym --locked XF86AudioPause exec playerctl play-pause bindsym --locked XF86AudioPrev exec playerctl previous bindsym --locked XF86AudioNext exec playerctl next bindsym --locked XF86AudioStop exec playerctl stop # Special keys to adjust brightness via brightnessctl bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ # Special key to take a screenshot with grim bindsym Print exec grim # === Clipboard === # Open clipboard (copying) bindsym $mod+v exec cliphist list \ | $dmenu -l 10 \ | cliphist decode \ | wl-copy # Open clipboard (deleting) bindsym $mod+Shift+v exec cliphist list \ | $dmenu -l 10 \ | cliphist delete # === Windows === floating_modifier $mod normal for_window [app_id = "floating"] floating enable for_window [app_id = "floating_update"] floating enable for_window [title = "^Open File$"] floating enable for_window [app_id = "pavucontrol"] { floating enable resize set 900 800 px } for_window [app_id = "TUI.float"] { floating enable resize set 900 800 px } # ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ # ┃ Status bar ┃ # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ no_focus [app_id="waybar"] for_window [app_id="waybar" floating] { move position cursor move down 60px } bar { id mainbar output * swaybar_command waybar } # === Autostart === # Gnome Keyring exec --no-startup-id gnome-keyring-daemon --start --components=pkcs11,secrets,ssh # wlsunset exec wlsunset -S '06:00' -s '18:00' -d 180 # poweralertd exec poweralertd # wallpaper (awww-daemon) exec awww-daemon # clipboard exec wl-paste --type text --watch cliphist store exec wl-paste --type image --watch cliphist store # for dolphin file manager exec XDG_MENU_PREFIX=arch- kbuildsycoca6 --noincremental # Desktop notification exec mako # === Other configs === include /etc/sway/config.d/*