# vim: set ts=4 sw=4 sts=4: set $mod Mod4 set $left h set $down j set $up k set $right l set $term alacritty # Symlink to the current wallpaper set $wallpaper $HOME/.config/sway/wallpaper set $menu dmenu-wl_path | dmenu-wl -nb "#002b36" -nf "#839496" -sb "#859900" -sf "#073642" | xargs swaymsg exec -- # Outputs output * bg $wallpaper fill # FIXME: maybe use kanshi output eDP-1 resolution 1920x1080 position 0,424 output "Dell Inc. DELL U2410 F525M0A104NL" resolution 1920x1200 position 1920,0 # Inputs input type:keyboard { xkb_layout de xkb_options compose:caps xkb_numlock enable } # Idle exec swayidle -w \ timeout 300 "swaylock -f -i $wallpaper" \ timeout 300 'swaymsg "output * dpms off"' \ resume 'swaymsg "output * dpms on"' \ before-sleep "swaylock -f -i $wallpaper" # Key bindings # Basics bindsym $mod+Return exec $term bindsym $mod+Shift+c kill bindsym $mod+r exec $menu floating_modifier $mod normal bindsym $mod+Control+r reload bindsym $mod+Shift+q 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' # Focus 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 # Moving 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 # Workspaces 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+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 # Moving workspaces between outputs bindsym $mod+Control+$left move workspace to output left bindsym $mod+Control+$down move workspace to output down bindsym $mod+Control+$up move workspace to output up bindsym $mod+Control+$right move workspace to output right bindsym $mod+Control+Left move workspace to output left bindsym $mod+Control+Down move workspace to output down bindsym $mod+Control+Up move workspace to output up bindsym $mod+Control+Right move workspace to output right # open next window as (vertical/horizontal) split bindsym $mod+b splith bindsym $mod+v splitv # layouts bindsym $mod+s layout stacking bindsym $mod+t layout tabbed bindsym $mod+e layout toggle split bindsym $mod+f fullscreen bindsym $mod+Control+space floating toggle # switch focus to tiling/floating bindsym $mod+space focus mode_toggle bindsym $mod+a focus parent # Scratchpad bindsym $mod+Shift+minus move scratchpad # show/hide/cycle scratchpad windows bindsym $mod+minus scratchpad show # Resizing mode "resize" { bindsym $left resize shrink width 10px bindsym $down resize grow height 10px bindsym $up resize shrink height 10px bindsym $right resize grow width 10px bindsym Left resize shrink width 10px bindsym Down resize grow height 10px bindsym Up resize shrink height 10px bindsym Right resize grow width 10px bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+d mode "resize" # Multimedia Keys bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- bindsym --locked XF86MonBrightnessUp exec brightnessctl set +5% bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% bindsym $mod+y exec "swaylock -f -i $wallpaper" bindsym --locked $mod+q exec 'test $(swaymsg -t get_outputs | jq "[.[].dpms] | any") = "true" && swaymsg "output * dpms off" || swaymsg "output * dpms on"' # Status Bar bar { swaybar_command waybar } # Window rules (native: by app_id, xwayland legacy: by class) assign [app_id="firefox"] 2 #assign [class="Chromium"] 2 assign [app_id="net.sourceforge.mumble."] 3 assign [class="Claws-mail"] 3 assign [app_id="anki"] 4 assign [app_id="libreoffice-startcenter"] 4 assign [app_id="net.sourceforge.gscan2pdf"] 4 assign [app_id="org.pwmt.zathura"] 4 assign [app_id="xournalpp"] 4 assign [app_id="audacious"] 5 assign [app_id="pavucontrol"] 5 assign [app_id="darktable"] 8 assign [app_id="org.inkscape.Inkscape"] 8 assign [class="Blender"] 8 assign [class="Gimp"] 8 assign [class="krita"] 8 # Window borders default_border pixel 1 client.focused "#93a1a1" "#073642" "#93a1a1" "#2aa198" client.focused_inactive "#839496" "#002b36" "#839496" "#2aa198" client.unfocused "#839496" "#002b36" "#839496" "#2aa198" client.urgent "#073642" "#dc322f" "#073642" "#2aa198" # Cursor seat seat0 xcursor_theme Adwaita # Autostart exec mako