input { warp-mouse-to-focus focus-follows-mouse max-scroll-amount="0%" keyboard { repeat-delay 200 repeat-rate 20 xkb { options "caps:escape" } } touchpad { tap dwt drag false tap-button-map "left-middle-right" scroll-factor 1.5 } mouse { scroll-factor 1.5 } } output "Acer Technologies SA241Y 0x1497CF17" { mode "1920x1080@74.973" scale 1 transform "normal" position x=2560 y=0 focus-at-startup } output "eDP-1" { mode "2560x1600@165" scale 1 transform "normal" position x=0 y=0 variable-refresh-rate focus-at-startup } layout { gaps 5 background-color "transparent" center-focused-column "never" preset-column-widths { proportion 0.33333 proportion 0.5 proportion 0.66667 proportion 0.75 proportion 1.0 } preset-window-heights { proportion 0.33333 proportion 0.5 proportion 0.75 proportion 1.0 } default-column-width { proportion 0.75; } focus-ring { width 4 active-color "#a6e3a1" inactive-color "#6c7086" } border { off } struts { left 5 right 5 top 5 bottom 5 } } prefer-no-csd environment { XDG_CURRENT_DESKTOP "niri" QT_QPA_PLATFORM "wayland" ELECTRON_OZONE_PLATFORM_HINT "auto" QT_QPA_PLATFORMTHEME "gtk3" QT_QPA_PLATFORMTHEME_QT6 "gtk3" GDK_BACKEND "wayland,x11,*" WAYLAND_DISPLAY "wayland-1" } spawn-sh-at-startup "sleep 2 && systemctl restart --user 'xdg-desktop-portal*'" spawn-at-startup "feishin" spawn-at-startup "equibop" spawn-at-startup "ghostty" spawn-at-startup "fluffychat" spawn-at-startup "firefox" hotkey-overlay { skip-at-startup } workspace "terminal" { open-on-output "Acer Technologies SA241Y 0x1497CF17" } workspace "browser" { open-on-output "Acer Technologies SA241Y 0x1497CF17" } workspace "chat" { open-on-output "Acer Technologies SA241Y 0x1497CF17" } screenshot-path "~/Pictures/screenshots/%Y/%m/%d-%H-%M-%S.png" window-rule { match app-id=r#"firefox$"# title="^Picture-in-Picture$" open-floating true } window-rule { match title="Celeste" open-fullscreen true } window-rule { match app-id="SpaceIdle" match app-id="equibop" match app-id="firefox" open-maximized true } window-rule { match at-startup=true app-id="equibop" match at-startup=true app-id="fluffychat" match at-startup=true app-id="feishin" open-on-workspace "chat" } window-rule { match at-startup=true app-id="com.mitchellh.ghostty" open-on-workspace "terminal" } window-rule { match at-startup=true app-id="firefox" open-on-workspace "browser" } window-rule { match title=r#"^Borderlands 2"# open-fullscreen true open-on-output "Acer Technologies SA241Y 0x1497CF17" } binds { Super+Shift+Slash { show-hotkey-overlay; } Super+Space hotkey-overlay-title="Launcher" { spawn "dms" "ipc" "spotlight" "toggle"; } Super+B hotkey-overlay-title="Bitwarden" { spawn "dms" "ipc" "spotlight" "openQuery" "bw "; } Super+Return hotkey-overlay-title="Open Terminal" { spawn "ghostty"; } Super+X hotkey-overlay-title="Power Menu" { spawn "dms" "ipc" "powermenu" "toggle"; } Super+Shift+X hotkey-overlay-title="Lock Session" { spawn "dms" "ipc" "lock" "lock"; } XF86AudioRaiseVolume hotkey-overlay-title="Volume Up" allow-when-locked=true { spawn "dms" "ipc" "audio" "increment" "5"; } XF86AudioLowerVolume hotkey-overlay-title="Volume Down" allow-when-locked=true { spawn "dms" "ipc" "audio" "decrement" "5"; } XF86AudioMute hotkey-overlay-title="Mute Audio" allow-when-locked=true { spawn "dms" "ipc" "audio" "mute"; } XF86AudioPlay allow-when-locked=true { spawn "dms" "ipc" "mpris" "playPause"; } XF86AudioStop allow-when-locked=true { spawn "dms" "ipc" "mpris" "stop"; } XF86AudioPrev allow-when-locked=true { spawn "dms" "ipc" "mpris" "previous"; } XF86AudioNext allow-when-locked=true { spawn "dms" "ipc" "mpris" "next"; } XF86MonBrightnessUp allow-when-locked=true { spawn "dms" "ipc" "brightness" "increment" "5" ""; } XF86MonBrightnessDown allow-when-locked=true { spawn "dms" "ipc" "brightness" "decrement" "5" ""; } Super+O repeat=false { toggle-overview; } Super+Q repeat=false { close-window; } 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+Left { move-column-left; } Mod+Shift+Down { move-window-down-or-to-workspace-down; } Mod+Shift+Up { move-window-up-or-to-workspace-up; } Mod+Shift+Right { move-column-right; } Mod+Shift+H { move-column-left; } Mod+Shift+J { move-window-down-or-to-workspace-down; } Mod+Shift+K { move-window-up-or-to-workspace-up; } Mod+Shift+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; } 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; } Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } Mod+WheelScrollRight { focus-column-right; } Mod+WheelScrollLeft { focus-column-left; } Mod+Ctrl+WheelScrollRight { move-column-right; } Mod+Ctrl+WheelScrollLeft { move-column-left; } // Usually scrolling up and down with Shift in applications results in // horizontal scrolling; these binds replicate that. Mod+Shift+WheelScrollDown { focus-column-right; } Mod+Shift+WheelScrollUp { focus-column-left; } Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } 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+Shift+1 { move-window-to-workspace 1; } Mod+Shift+2 { move-window-to-workspace 2; } Mod+Shift+3 { move-window-to-workspace 3; } Mod+Shift+4 { move-window-to-workspace 4; } Mod+Shift+5 { move-window-to-workspace 5; } Mod+Shift+6 { move-window-to-workspace 6; } Mod+Shift+7 { move-window-to-workspace 7; } Mod+Shift+8 { move-window-to-workspace 8; } Mod+Shift+9 { move-window-to-workspace 9; } Mod+Tab { focus-workspace-previous; } Mod+BracketLeft { consume-or-expel-window-left; } Mod+BracketRight { consume-or-expel-window-right; } // Consume one window from the right to the bottom of the focused column. Mod+Comma { consume-window-into-column; } // Expel the bottom window from the focused column to the right. Mod+Period { expel-window-from-column; } Mod+R { switch-preset-column-width; } Mod+Shift+R { switch-preset-window-height; } Mod+Ctrl+R { reset-window-height; } Mod+F { maximize-column; } Mod+Shift+F { fullscreen-window; } Mod+Ctrl+F { expand-column-to-available-width; } Mod+C { center-column; } Mod+Ctrl+C { center-visible-columns; } Mod+Shift+Equal { toggle-window-floating; } Mod+Equal { switch-focus-between-floating-and-tiling; } Mod+W { toggle-column-tabbed-display; } Print { screenshot; } Shift+F3 { screenshot-screen; } Shift+F4 { screenshot; } Mod+Shift+E { quit; } Ctrl+Alt+L { spawn "loginctl" "lock-session"; } } gestures { hot-corners { off } } // DMS Integration layer-rule { match namespace="quickshell" place-within-backdrop true }