z_mirror/dotfiles
git clone https://git.raiguard.me/z_mirror/dotfiles
06bb9f3
tangere
1input { 2keyboard { 3xkb { 4layout "us,ru" 5} 6 7numlock 8 9repeat-rate 40 10repeat-delay 300 11} 12 13touchpad { 14tap 15dwt 16dwtp 17drag-lock 18natural-scroll 19} 20 21mouse { 22scroll-method "on-button-down" 23scroll-button 274 24} 25 26focus-follows-mouse max-scroll-amount = "0%" 27} 28 29output "eDP-1" { 30scale 1.25 31layout { 32default-column-width { proportion 1.0 ; } 33} 34} 35 36output "DP-3" { 37position x = 1920 y = 0 38mode "3440x1440@143.975" 39variable-refresh-rate on-demand = true 40} 41 42output "DP-4" { 43position x = 2680 y = 1440 44} 45 46output "HDMI-A-2" { 47off 48scale 2 49position x = 0 y = 180 50variable-refresh-rate 51} 52 53layout { 54gaps 4 55 56always-center-single-column true 57center-focused-column "never" 58 59preset-column-widths { 60proportion 0.33333 61proportion 0.5 62proportion 0.66667 63// fixed 1920 64// fixed 2464 65} 66 67default-column-width { proportion 0.5 ; } 68 69focus-ring { off ; } 70 71border { 72width 2 73active-color "#7dcfff" 74inactive-color "#565f89" 75urgent-color "#f7768e" 76} 77 78background-color "transparent" 79} 80 81cursor { 82xcursor-theme "Bibata-Modern-Ice" 83} 84 85hotkey-overlay { skip-at-startup ; } 86 87prefer-no-csd 88 89screenshot-path "~/pictures/screenshots/%Y-%m-%dT%H-%M-%S.png" 90 91binds { 92// Suggested binds for running programs: terminal, app launcher, screen locker. 93Mod+T { spawn "foot" ; } 94Mod+D { spawn "fuzzel" ; } 95Mod+Alt+L { spawn "swaylock" ; } 96Mod+X { spawn-sh "wayscriber -a" ; } 97 98XF86AudioRaiseVolume allow-when-locked = true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0" ; } 99XF86AudioLowerVolume allow-when-locked = true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-" ; } 100XF86AudioMute allow-when-locked = true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" ; } 101XF86AudioMicMute allow-when-locked = true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" ; } 102 103XF86AudioPlay allow-when-locked = true { spawn-sh "playerctl play-pause" ; } 104XF86AudioStop allow-when-locked = true { spawn-sh "playerctl stop" ; } 105XF86AudioPrev allow-when-locked = true { spawn-sh "playerctl previous" ; } 106XF86AudioNext allow-when-locked = true { spawn-sh "playerctl next" ; } 107 108XF86MonBrightnessUp allow-when-locked = true { spawn "brightnessctl" "--class=backlight" "set" "+10%" ; } 109XF86MonBrightnessDown allow-when-locked = true { spawn "brightnessctl" "--class=backlight" "set" "10%-" ; } 110 111Mod+O repeat = false { toggle-overview ; } 112 113Mod+Q repeat = false { close-window ; } 114 115Mod+Left { focus-column-left ; } 116Mod+Down { focus-window-down ; } 117Mod+Up { focus-window-up ; } 118Mod+Right { focus-column-right ; } 119Mod+H { focus-column-left ; } 120Mod+J { focus-window-down ; } 121Mod+K { focus-window-up ; } 122Mod+L { focus-column-right ; } 123 124Mod+Ctrl+Left { move-column-left ; } 125Mod+Ctrl+Down { move-window-down ; } 126Mod+Ctrl+Up { move-window-up ; } 127Mod+Ctrl+Right { move-column-right ; } 128Mod+Ctrl+H { move-column-left ; } 129Mod+Ctrl+J { move-window-down ; } 130Mod+Ctrl+K { move-window-up ; } 131Mod+Ctrl+L { move-column-right ; } 132 133Mod+Home { focus-column-first ; } 134Mod+End { focus-column-last ; } 135Mod+Ctrl+Home { move-column-to-first ; } 136Mod+Ctrl+End { move-column-to-last ; } 137 138Mod+Shift+Left { focus-monitor-left ; } 139Mod+Shift+Down { focus-monitor-down ; } 140Mod+Shift+Up { focus-monitor-up ; } 141Mod+Shift+Right { focus-monitor-right ; } 142Mod+Shift+H { focus-monitor-left ; } 143Mod+Shift+J { focus-monitor-down ; } 144Mod+Shift+K { focus-monitor-up ; } 145Mod+Shift+L { focus-monitor-right ; } 146 147Mod+Shift+Ctrl+Left { move-column-to-monitor-left ; } 148Mod+Shift+Ctrl+Down { move-column-to-monitor-down ; } 149Mod+Shift+Ctrl+Up { move-column-to-monitor-up ; } 150Mod+Shift+Ctrl+Right { move-column-to-monitor-right ; } 151Mod+Shift+Ctrl+H { move-column-to-monitor-left ; } 152Mod+Shift+Ctrl+J { move-column-to-monitor-down ; } 153Mod+Shift+Ctrl+K { move-column-to-monitor-up ; } 154Mod+Shift+Ctrl+L { move-column-to-monitor-right ; } 155 156Mod+Page_Down { focus-workspace-down ; } 157Mod+Page_Up { focus-workspace-up ; } 158Mod+U { focus-workspace-down ; } 159Mod+I { focus-workspace-up ; } 160Mod+Ctrl+Page_Down { move-column-to-workspace-down ; } 161Mod+Ctrl+Page_Up { move-column-to-workspace-up ; } 162Mod+Ctrl+U { move-column-to-workspace-down ; } 163Mod+Ctrl+I { move-column-to-workspace-up ; } 164 165Mod+Shift+Page_Down { move-workspace-down ; } 166Mod+Shift+Page_Up { move-workspace-up ; } 167Mod+Shift+U { move-workspace-down ; } 168Mod+Shift+I { move-workspace-up ; } 169 170Mod+WheelScrollDown cooldown-ms = 150 { focus-workspace-down ; } 171Mod+WheelScrollUp cooldown-ms = 150 { focus-workspace-up ; } 172Mod+Ctrl+WheelScrollDown cooldown-ms = 150 { move-column-to-workspace-down ; } 173Mod+Ctrl+WheelScrollUp cooldown-ms = 150 { move-column-to-workspace-up ; } 174 175Mod+WheelScrollRight { focus-column-right ; } 176Mod+WheelScrollLeft { focus-column-left ; } 177Mod+Ctrl+WheelScrollRight { move-column-right ; } 178Mod+Ctrl+WheelScrollLeft { move-column-left ; } 179 180Mod+Shift+WheelScrollDown { focus-column-right ; } 181Mod+Shift+WheelScrollUp { focus-column-left ; } 182Mod+Ctrl+Shift+WheelScrollDown { move-column-right ; } 183Mod+Ctrl+Shift+WheelScrollUp { move-column-left ; } 184 185Mod+1 { focus-workspace 1 ; } 186Mod+2 { focus-workspace 2 ; } 187Mod+3 { focus-workspace 3 ; } 188Mod+4 { focus-workspace 4 ; } 189Mod+5 { focus-workspace 5 ; } 190Mod+6 { focus-workspace 6 ; } 191Mod+7 { focus-workspace 7 ; } 192Mod+8 { focus-workspace 8 ; } 193Mod+9 { focus-workspace 9 ; } 194Mod+Ctrl+1 { move-column-to-workspace 1 ; } 195Mod+Ctrl+2 { move-column-to-workspace 2 ; } 196Mod+Ctrl+3 { move-column-to-workspace 3 ; } 197Mod+Ctrl+4 { move-column-to-workspace 4 ; } 198Mod+Ctrl+5 { move-column-to-workspace 5 ; } 199Mod+Ctrl+6 { move-column-to-workspace 6 ; } 200Mod+Ctrl+7 { move-column-to-workspace 7 ; } 201Mod+Ctrl+8 { move-column-to-workspace 8 ; } 202Mod+Ctrl+9 { move-column-to-workspace 9 ; } 203 204Mod+BracketLeft { consume-or-expel-window-left ; } 205Mod+BracketRight { consume-or-expel-window-right ; } 206 207Mod+Comma { consume-window-into-column ; } 208Mod+Period { expel-window-from-column ; } 209 210Mod+R { switch-preset-column-width ; } 211Mod+Shift+R { switch-preset-window-height ; } 212Mod+Ctrl+R { reset-window-height ; } 213Mod+F { maximize-column ; } 214Mod+Shift+F { fullscreen-window ; } 215 216Mod+Ctrl+F { expand-column-to-available-width ; } 217 218Mod+C { center-column ; } 219 220Mod+Ctrl+C { center-visible-columns ; } 221 222Mod+Minus { set-column-width "-10%" ; } 223Mod+Equal { set-column-width "+10%" ; } 224 225Mod+Shift+Minus { set-window-height "-10%" ; } 226Mod+Shift+Equal { set-window-height "+10%" ; } 227 228Mod+V { toggle-window-floating ; } 229Mod+Shift+V { switch-focus-between-floating-and-tiling ; } 230 231Mod+W { toggle-column-tabbed-display ; } 232 233{ screenshot ; } 234Ctrl+Print { screenshot-screen ; } 235Alt+Print { screenshot-window ; } 236 237Mod+Escape allow-inhibiting = false { toggle-keyboard-shortcuts-inhibit ; } 238Mod+Slash { spawn "fuzzel-power-menu" ; } 239 240Mod+Shift+E { quit ; } 241Ctrl+Alt+Delete { quit ; } 242 243Mod+Shift+P { power-off-monitors ; } 244} 245 246// Open the Firefox picture-in-picture player as floating by default. 247window-rule { 248// This app-id regular expression will work for both: 249// - host Firefox (app-id is "firefox") 250// - Flatpak Firefox (app-id is "org.mozilla.firefox") 251match app-id = r#"firefox$"# title = "^Picture-in-Picture$" 252open-floating true 253} 254 255// Example: block out two password managers from screen capture. 256// (This example rule is commented out with a "/-" in front.) 257window-rule { 258match app-id = r#"^org\.keepassxc\.KeePassXC$"# 259match app-id = r#"^org\.gnome\.World\.Secrets$"# 260 261block-out-from "screen-capture" 262open-floating true 263} 264 265window-rule { 266match app-id = r#".*(f|F)actorio.*"# 267open-maximized-to-edges true 268variable-refresh-rate true 269} 270 271window-rule { 272match app-id = "osu!" 273variable-refresh-rate true 274} 275 276// Block out mako notifications from screencasts. 277layer-rule { 278match namespace = "^notifications$" 279 280block-out-from "screencast" 281} 282 283// Put swaybg inside the overview backdrop. 284// layer-rule { 285// match namespace="^wallpaper$" 286// place-within-backdrop true 287// } 288 289spawn-at-startup "swaybg" 290spawn-at-startup "swayidle" 291spawn-at-startup "waybar" 292spawn-at-startup "wlsunset" 293 294environment { 295PROTON_ENABLE_WAYLAND "1" 296PROTON_USE_WAYLAND "1" 297WAYLANDDRV_PRIMARY_MONITOR "DP-3" 298}