config (9096B)
1 # Variables 2 set $mod Mod4 3 set $menu /usr/bin/sirula 4 set $term kitty 5 #set $browser firefox 6 set $browser "firefox-nightly -P default-release --marionette" 7 set $file_manager nautilus 8 9 # Named workspaces 10 set $ws1 "1:" 11 set $ws2 "2:" 12 set $ws3 "3:" 13 set $ws4 number 4 14 set $ws5 "5:" 15 set $ws6 number 6 16 set $ws7 number 7 17 set $ws8 number 8 18 set $ws9 number 9 19 set $ws10 number 10 20 set $ws11 "11:" 21 set $ws12 "12:" 22 set $ws13 "13:" 23 set $ws14 number 15 24 set $ws15 number 15 25 set $ws16 number 16 26 set $ws17 number 17 27 set $ws18 number 18 28 set $ws19 "19:" 29 set $ws20 "20:" 30 set $ws21 "21:" 31 set $ws42 "42:" 32 33 # Colors (border bg text indicator child_border) 34 #client.focused #bdbdbd #bdbdbd #000000 #bdbdbd #bdbdbd 35 #client.focused_inactive #333333 #5f676a #ffffff #5f676a #5f676a 36 #client.unfocused #1e1e1e #1e1e1e #bdbdbd #1e1e1e #1e1e1e 37 #client.urgent #2f343a #900000 #ffffff #900000 #900000 38 39 client.focused #5e81ac #5e81ac #eceff4 #434c5e #5e81ac 40 client.focused_inactive #4c566a #4c566a #d8dee9 #3b4252 #434c5e 41 client.unfocused #4c566a #4c566a #d8dee9 #3b4252 #434c5e 42 client.urgent #bf616a #bf616a #eceff4 #900000 #bf616a 43 client.placeholder #000000 #0c0c0c #eceff4 #000000 #0c0c0c 44 45 46 # Font 47 font pango:Encode Sans 11 48 #font pango:Monospace, FontAwesome, 9 49 50 # Window borders 51 default_border pixel 3 52 #default_floating_border pixel 1 53 hide_edge_borders --i3 smart 54 55 workspace_layout default 56 #popup_during_fullscreen leave_fullscreen # TODO 57 58 59 # Input device configuration 60 input * { 61 xkb_layout de 62 xkb_variant nodeadkeys 63 xkb_options compose:caps 64 xkb_numlock enabled 65 } 66 67 # Output configuration 68 #output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill 69 output * bg /home/marcel/wallpaper/cherry_blossom_by_tomprante_d8shzqg.jpg fill 70 71 output DP-1 scale 1.75 pos 0 0 72 output HDMI-A-1 pos 2194 0 73 74 # Default workspaces for common programs 75 assign [class="^Signal$"] $ws2 76 assign [class="^Element"] $ws2 77 assign [class="^hydrogen"] $ws2 78 assign [class="^whatsapp"] $ws2 79 assign [app_id="^thunderbird$"] $ws3 80 assign [class="^Steam$"] $ws11 81 assign [class="^Spotify"] $ws42 82 assign [app_id="^org.keepassxc.KeePassXC$" title="KeePassXC$"] $ws21 83 84 # Layout defaults 85 #for_window [app_id="^firefox$"] layout tabbed 86 for_window [app_id="^thunderbird$"] layout tabbed 87 #for_window [class="^Code" title="Visual Studio Code"] layout tabbed 88 # Nautilus typeahead popup 89 for_window [app_id="^nautilus$" title="^nautilus$"] floating enable 90 # gtk-rs programs have this id by default 91 for_window [app_id="^\.$"] floating enable 92 for_window [title="Discord Updater"] floating enable 93 for_window [app_id="imv"] floating enable 94 for_window [app_id="pavucontrol"] floating enable, sticky enable, resize set width 550 px height 600px, move position cursor, move down 330 95 96 # Other window-specific settings 97 for_window [class="^Signal$"] opacity 0.9 98 for_window [class="^Riot$"] opacity 0.9 99 for_window [class="^Element$"] opacity 0.9 100 for_window [app_id="^org.gnome.Nautilus$"] opacity 0.9 101 for_window [class="^hydrogen"] opacity 0.9 102 for_window [class="^whatsapp"] opacity 0.9 103 for_window [app_id="kitty"] opacity 0.7 104 105 # Program shortcuts 106 bindsym $mod+Return exec $term 107 bindsym $mod+n exec $file_manager 108 bindsym $mod+y workspace $ws1; exec $browser 109 110 # Autostart 111 exec mako 112 exec autotiling 113 exec $browser 114 exec /home/marcel/Applications/hydrogen/hydrogen 115 exec /home/marcel/Applications/whatsapp/whatsapp 116 exec "dex /usr/share/applications/org.keepassxc.KeePassXC.desktop" 117 exec signal 118 exec spotify 119 #exec sh -c "nmcli monitor | while read _; do pkill -RTMIN+1 waybar; done >/dev/null" 120 121 # Notifications 122 bindsym Control+Space exec makoctl dismiss 123 bindsym Control+Shift+Space exec makoctl dismiss --all 124 125 # Kill focused window 126 bindsym $mod+Shift+q kill 127 128 # Start your launcher 129 bindsym $mod+d exec $menu 130 131 # Reload the configuration file 132 bindsym $mod+Shift+c reload 133 134 # Exit sway (logs you out of your wayland session) 135 bindsym $mod+Shift+e exit 136 137 # Move your focus around with $mod+[h|j|k|l], like vim 138 bindsym $mod+h focus left 139 bindsym $mod+j focus down 140 bindsym $mod+k focus up 141 bindsym $mod+l focus right 142 # or use $mod+[up|down|left|right] 143 bindsym $mod+Left focus left 144 bindsym $mod+Down focus down 145 bindsym $mod+Up focus up 146 bindsym $mod+Right focus right 147 148 # _move_ the focused window with the same, but add Shift 149 bindsym $mod+Shift+h move left 150 bindsym $mod+Shift+j move down 151 bindsym $mod+Shift+k move up 152 bindsym $mod+Shift+l move right 153 # ditto, with arrow keys 154 bindsym $mod+Shift+Left move left 155 bindsym $mod+Shift+Down move down 156 bindsym $mod+Shift+Up move up 157 bindsym $mod+Shift+Right move right 158 159 # Move workspace to monitor 160 bindsym $mod+Ctrl+Left move workspace to output left 161 bindsym $mod+Ctrl+Down move workspace to output down 162 bindsym $mod+Ctrl+Up move workspace to output up 163 bindsym $mod+Ctrl+Right move workspace to output right 164 165 # Switch to workspace 166 bindsym $mod+1 workspace $ws1 167 bindsym $mod+2 workspace $ws2 168 bindsym $mod+3 workspace $ws3 169 bindsym $mod+4 workspace $ws4 170 bindsym $mod+5 workspace $ws5 171 bindsym $mod+6 workspace $ws6 172 bindsym $mod+7 workspace $ws7 173 bindsym $mod+8 workspace $ws8 174 bindsym $mod+9 workspace $ws9 175 bindsym $mod+0 workspace $ws10 176 bindsym $mod+F1 workspace $ws11 177 bindsym $mod+F2 workspace $ws12 178 bindsym $mod+F3 workspace $ws13 179 bindsym $mod+F4 workspace $ws14 180 bindsym $mod+F5 workspace $ws15 181 bindsym $mod+F6 workspace $ws16 182 bindsym $mod+F7 workspace $ws17 183 bindsym $mod+F8 workspace $ws18 184 bindsym $mod+F9 workspace $ws19 185 bindsym $mod+F10 workspace $ws20 186 bindsym $mod+F11 workspace $ws21 187 bindsym $mod+F12 workspace $ws42 188 189 190 # Move focused container to workspace 191 bindsym $mod+Shift+1 move container to workspace $ws1 192 bindsym $mod+Shift+2 move container to workspace $ws2 193 bindsym $mod+Shift+3 move container to workspace $ws3 194 bindsym $mod+Shift+4 move container to workspace $ws4 195 bindsym $mod+Shift+5 move container to workspace $ws5 196 bindsym $mod+Shift+6 move container to workspace $ws6 197 bindsym $mod+Shift+7 move container to workspace $ws7 198 bindsym $mod+Shift+8 move container to workspace $ws8 199 bindsym $mod+Shift+9 move container to workspace $ws9 200 bindsym $mod+Shift+0 move container to workspace $ws10 201 bindsym $mod+Shift+F1 move container to workspace $ws11 202 bindsym $mod+Shift+F2 move container to workspace $ws12 203 bindsym $mod+Shift+F3 move container to workspace $ws13 204 bindsym $mod+Shift+F4 move container to workspace $ws14 205 bindsym $mod+Shift+F5 move container to workspace $ws15 206 bindsym $mod+Shift+F6 move container to workspace $ws16 207 bindsym $mod+Shift+F7 move container to workspace $ws17 208 bindsym $mod+Shift+F8 move container to workspace $ws18 209 bindsym $mod+Shift+F9 move container to workspace $ws19 210 bindsym $mod+Shift+F10 move container to workspace $ws20 211 bindsym $mod+Shift+F11 move container to workspace $ws21 212 bindsym $mod+Shift+F12 move container to workspace $ws42 213 214 # Layout stuff 215 bindsym $mod+b splith 216 bindsym $mod+v splitv 217 218 # Switch the current container between different layout styles 219 bindsym $mod+s layout stacking 220 bindsym $mod+w layout tabbed 221 bindsym $mod+e layout toggle split 222 223 # Make the current focus fullscreen 224 bindsym $mod+f fullscreen 225 226 # Toggle the current focus between tiling and floating mode 227 bindsym $mod+Shift+space floating toggle 228 229 # Swap focus between the tiling area and the floating area 230 bindsym $mod+space focus mode_toggle 231 232 # move focus to the parent container 233 bindsym $mod+a focus parent 234 235 # Move the currently focused window to the scratchpad 236 bindsym $mod+Shift+minus move scratchpad 237 238 # Show the next scratchpad window or hide the focused scratchpad window. 239 # If there are multiple scratchpad windows, this command cycles through them. 240 bindsym $mod+minus scratchpad show 241 242 exec waybar -c ~/.config/waybar/config.json 243 #exec swayidle -w \ 244 # timeout 300 'swaylock -f -c 000000' \ 245 # timeout 600 'swaymsg "output * dpms off"' \ 246 # resume 'swaymsg "output * dpms on"' \ 247 # before-sleep 'swaylock -e -F -f -c 000000' 248 249 #bindsym $mod+p exec swaylock -i "/usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png" fill 250 #set $screenshot grim ~/Downloads/scrn-$(date +"%Y-%m-%d-%H-%M-%S").png 251 #set $screenclip slurp | grim -g - ~/Downloads/scrn-$(date +"%Y-%m-%d-%H-%M-%S").png 252 set $screenclip grim -g "$(slurp)" - | swappy -f - 253 set $screenshot grim - | swappy -f - 254 set $fullscreenshot ~/fullscreenshot.sh 255 256 bindsym $mod+Print exec $screenshot 257 bindsym $mod+Shift+Print exec $screenclip 258 bindsym $mod+Ctrl+Print exec $fullscreenshot 259 260 261 bindsym XF86AudioPlay exec playerctl play-pause 262 bindsym XF86AudioNext exec playerctl next 263 bindsym XF86AudioPrev exec playerctl previous 264 265 gaps inner 12 266 gaps outer 5 267 268 bindsym $mod+Ctrl+e exec wlogout -p layer-shell 269 270 271 # Volume controls 272 bindsym XF86AudioRaiseVolume exec pamixer -i 5 273 bindsym XF86AudioLowerVolume exec pamixer -d 5 274 bindsym XF86AudioMute exec pamixer -t 275 276 # Music player controls 277 bindsym XF86AudioPrev exec playerctl stop && playerctl previous && playerctl play 278 bindsym XF86AudioPlay exec playerctl play-pause || quodlibet --run --play 279 bindsym XF86AudioNext exec playerctl next && playerctl play