include optional=true "/home/seraphim/.cache/matugen/theme.kdl" spawn-at-startup "/home/seraphim/dotfiles-gentoo/niri/.config/niri/mako-start.sh" spawn-at-startup "xrdb" "-merge" "/home/seraphim/.Xresources" spawn-at-startup "vicinae" "server" spawn-at-startup "gentoo-pipewire-launcher" spawn-at-startup "telegram-desktop" "-autostart" "--minimized" spawn-at-startup "keepassxc" "--minimized" spawn-at-startup "awww-daemon" spawn-at-startup "awww-daemon" "--namespace" "backdrop" spawn-at-startup "/usr/libexec/hyprpolkitagent" spawn-at-startup "dbus-update-activation-environment" "WAYLAND_DISPLAY" "DISPLAY" "XDG_CURRENT_DESKTOP" spawn-at-startup "darkman" "run" spawn-at-startup "/home/seraphim/dotfiles-gentoo/.config/niri/theme-switcher.sh" "--last" spawn-at-startup "sh" "-c" "NO_AT_BRIDGE=1 waybar" spawn-at-startup "/usr/bin/Throne" spawn-at-startup "mpd" prefer-no-csd screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" environment { OZONE_PLATFORM "wayland" ELECTRON_OZONE_PLATFORM_HINT "auto" XDG_CURRENT_DESKTOP "niri" } blur { passes 4 offset 5.0 noise 0.02 saturation 1.1 } // awww-daemon --namespace backdrop: pre-blurred wallpaper shown in the // Overview backdrop. niri cannot blur a backdrop surface itself. layer-rule { match namespace="^awww-daemonbackdrop$" place-within-backdrop true } input { focus-follows-mouse max-scroll-amount="100%" keyboard { xkb { layout "us,ru" options "grp:lalt_lshift_toggle,compose:ralt,ctrl:nocaps" } repeat-delay 300 repeat-rate 60 numlock } mouse { accel-speed -0.8 accel-profile "flat" } } output "DP-2" { mode "2560x1440" scale 1.5 position x=0 y=0 } output "HDMI-A-1" { mode "1920x1080@71.910" scale 1 } layout { gaps 0.5 center-focused-column "never" preset-column-widths { proportion 0.33333 proportion 0.5 proportion 0.66667 } default-column-width { proportion 0.5; } focus-ring { width 2 } border { off //width 0.5 //active-color "#ffc87f" //inactive-color "#505050" //urgent-color "#9b0000" } shadow { off //softness 30 //spread 5 //offset x=0 y=5 //color "#0007" } } animations { workspace-switch { duration-ms 275 curve "ease-out-cubic" } horizontal-view-movement { spring damping-ratio=1.0 stiffness=800 epsilon=0.0001 } window-movement { spring damping-ratio=1.0 stiffness=800 epsilon=0.0001 } // window-open { // duration-ms 150 // curve "ease-out-expo" // } // window-close { // duration-ms 150 // curve "ease-out-quad" // } window-resize { spring damping-ratio=1.0 stiffness=800 epsilon=0.0001 } overview-open-close { duration-ms 150 curve "ease-out-quad" } } window-rule { match app-id=r#"^org\.wezfurlong\.wezterm$"# geometry-corner-radius 12 clip-to-geometry true background-effect { xray false } } // Helium PiP fix window-rule { match app-id=r#"helium$"# title="^Picture-in-Picture$" open-floating true geometry-corner-radius 9000 clip-to-geometry true shadow { off } } // Steam notifs fix window-rule { match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"# open-floating true open-focused false default-floating-position x=16 y=16 relative-to="bottom-right" } gestures { hot-corners { off } } cursor { xcursor-theme "Bibata-Modern-Classic" xcursor-size 15 } overview { zoom 0.5 workspace-shadow { off //softness 15 //spread 3 //offset x=0 y=6 //color "#00000080" } } debug { honor-xdg-activation-with-invalid-serial } binds { // Application Launchers Mod+Shift+T { spawn "telegram-desktop"; } Mod+Shift+B { spawn "/opt/helium/helium" "--enable-features=UseOzonePlatform" "--ozone-platform=wayland"; } Mod+D { spawn "vicinae" "toggle"; } Mod+Ctrl+V { spawn "vicinae" "deeplink" "vicinae://launch/clipboard/history"; } Mod+T hotkey-overlay-title="File Manager" { spawn "foot" "-e" "yazi"; } Mod+Alt+R { spawn "foot" "-e" "rmpc"; } Mod+S hotkey-overlay-title="Terminal" { spawn "foot"; } Super+Alt+L hotkey-overlay-title="Lock Screen" { spawn "swaylock"; } // Audio & Media Controls XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; } XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; } XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; } XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; } XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; } XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; } XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; } XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; } // universal clipboard hotkeys (super + c / v / x) mod+c { spawn-sh "sleep 0.001 && wtype -M ctrl -k insert -m ctrl"; } mod+v { spawn-sh "sleep 0.001 && wtype -M shift -k insert -m shift"; } mod+x { spawn-sh "sleep 0.001 && wtype -M shift -k delete -m shift"; } // Window Management & Views Mod+Tab repeat=false { toggle-overview; } Mod+Grave repeat=false { toggle-overview; } Mod+W repeat=false { close-window; } Mod+F { maximize-column; } Mod+Shift+F { fullscreen-window; } Mod+Ctrl+F { maximize-window-to-edges; } //Mod+Ctrl+F { expand-column-to-available-width; } Mod+Ctrl+C { center-visible-columns; } Mod+Shift+V { toggle-window-floating; } Mod+Q { toggle-column-tabbed-display; } // Focus Navigation Mod+Left { focus-column-left; } Mod+Down { focus-window-down; } Mod+Up { focus-window-up; } Mod+Right { focus-column-right; } Mod+H { focus-column-left; } Mod+J { focus-window-down; } Mod+K { focus-window-up; } Mod+L { focus-column-right; } Mod+Shift+WheelScrollUp { focus-monitor-left; } Mod+Shift+WheelScrollDown { focus-monitor-right; } // Window Movement Mod+Ctrl+Left { move-column-left; } Mod+Ctrl+Down { move-window-down; } Mod+Ctrl+Up { move-window-up; } Mod+Ctrl+Right { move-column-right; } Mod+Ctrl+H { move-column-left; } Mod+Ctrl+J { move-window-down; } Mod+Ctrl+K { move-window-up; } Mod+Ctrl+L { move-column-right; } Mod+Home { focus-column-first; } Mod+End { focus-column-last; } Mod+Ctrl+Home { move-column-to-first; } Mod+Ctrl+End { move-column-to-last; } // Monitor Focus & Movement Mod+Shift+1 { focus-monitor-left; } Mod+Shift+2 { focus-monitor-right; } Mod+Shift+Left { focus-monitor-left; } Mod+Shift+Down { focus-monitor-down; } Mod+Shift+Up { focus-monitor-up; } Mod+Shift+Right { focus-monitor-right; } Mod+Shift+H { focus-monitor-left; } Mod+Shift+J { focus-monitor-down; } Mod+Shift+K { focus-monitor-up; } Mod+Shift+L { focus-monitor-right; } Mod+Shift+Ctrl+1 { move-column-to-monitor-left; } Mod+Shift+Ctrl+2 { move-column-to-monitor-right; } Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } Mod+Shift+Ctrl+H { move-column-to-monitor-left; } Mod+Shift+Ctrl+J { move-column-to-monitor-down; } Mod+Shift+Ctrl+K { move-column-to-monitor-up; } Mod+Shift+Ctrl+L { move-column-to-monitor-right; } // Workspace Navigation Mod+Shift+Page_Down { move-workspace-down; } Mod+Shift+Page_Up { move-workspace-up; } Mod+Shift+U { move-workspace-down; } Mod+Shift+I { move-workspace-up; } // Direct Workspace Switching (1-9) Mod+1 { focus-workspace 1; } Mod+2 { focus-workspace 2; } Mod+3 { focus-workspace 3; } Mod+4 { focus-workspace 4; } Mod+5 { focus-workspace 5; } Mod+6 { focus-workspace 6; } Mod+7 { focus-workspace 7; } Mod+8 { focus-workspace 8; } Mod+9 { focus-workspace 9; } Mod+Ctrl+1 { move-column-to-workspace 1; } Mod+Ctrl+2 { move-column-to-workspace 2; } Mod+Ctrl+3 { move-column-to-workspace 3; } Mod+Ctrl+4 { move-column-to-workspace 4; } Mod+Ctrl+5 { move-column-to-workspace 5; } Mod+Ctrl+6 { move-column-to-workspace 6; } Mod+Ctrl+7 { move-column-to-workspace 7; } Mod+Ctrl+8 { move-column-to-workspace 8; } Mod+Ctrl+9 { move-column-to-workspace 9; } // Column & Window Sizing Mod+BracketLeft { consume-or-expel-window-left; } Mod+BracketRight { consume-or-expel-window-right; } Mod+R { switch-preset-column-width; } Mod+Shift+R { switch-preset-column-width-back; } Mod+Ctrl+Shift+R { switch-preset-window-height; } Mod+Ctrl+R { reset-window-height; } Mod+Minus { set-column-width "-10%"; } Mod+Equal { set-column-width "+10%"; } Mod+Shift+Minus { set-window-height "-10%"; } Mod+Shift+Equal { set-window-height "+10%"; } // Mouse Wheel Bindings Mod+WheelScrollUp { focus-column-left; } Mod+WheelScrollDown { focus-column-right; } // Screenshots Print { screenshot; } Ctrl+Print { screenshot-screen; } Alt+Print { screenshot-window; } // System Control Mod+Shift+E { quit; } }