Files
dotfiles/niri/config.kdl
T
funman300 b0daea2a73 waybar: fix GTK3 CSS variables, pin timezone, adjust screenshot keybind
- theme/colors.css: replace CSS custom properties (--var) with GTK3
  @define-color — GTK3 CSS parser rejects -- syntax, crashing waybar
- waybar/style.css, wofi/style.css, gtklock/style.css: update var(--x)
  references to @x to match
- waybar/config.jsonc: pin clock timezone to America/Vancouver
- niri/config.kdl: change Print to Mod+Print for screenshot keybind

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 11:38:48 -07:00

150 lines
4.0 KiB
KDL

layout {
gaps 0
border {
off
}
focus-ring {
off
}
}
input {
keyboard {
xkb {
layout "us"
}
}
touchpad {
tap
natural-scroll
accel-speed 0.2
accel-profile "adaptive"
scroll-method "two-finger"
disabled-on-external-mouse
}
mouse {
accel-profile "flat"
}
}
spawn-at-startup "waybar"
spawn-at-startup "mako"
spawn-at-startup "swww-daemon"
spawn-at-startup "nm-applet" "--indicator"
spawn-at-startup "polkit-gnome-authentication-agent-1"
spawn-at-startup "swayidle" "-w" "timeout" "300" "niri msg action power-off-monitors" "timeout" "600" "gtklock" "-d" "timeout" "1800" "systemctl suspend" "before-sleep" "gtklock" "-d"
spawn-at-startup "wl-paste" "--watch" "cliphist" "store"
spawn-at-startup "blueman-applet"
spawn-at-startup "wlsunset" "-l" "49.2" "-L" "-123.1"
spawn-at-startup "xwayland-satellite"
spawn-at-startup "snixembed" "--no-startup-id"
binds {
Mod+Q repeat=false { close-window; }
Mod+F { fullscreen-window; }
Mod+Z { maximize-column; }
Mod+V { toggle-window-floating; }
Mod+Return { spawn "alacritty"; }
Mod+D { spawn "wofi" "--show" "drun"; }
Mod+E { spawn "thunar"; }
Mod+H { focus-column-left; }
Mod+L { focus-column-right; }
Mod+J { focus-window-down; }
Mod+K { focus-window-up; }
Mod+Shift+H { move-column-left; }
Mod+Shift+L { move-column-right; }
Mod+Shift+J { move-window-down; }
Mod+Shift+K { move-window-up; }
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+Print { spawn "screenshot"; }
Mod+M { move-window-to-workspace "minimized"; }
Mod+Shift+M { focus-workspace "minimized"; }
Mod+Shift+E { spawn "gtklock" "-d"; }
Mod+Shift+P { spawn "powermenu"; }
Mod+Shift+C { spawn "clipboard-picker"; }
Mod+Shift+X { quit; }
XF86AudioRaiseVolume allow-when-locked=true { spawn "pamixer" "-i" "5"; }
XF86AudioLowerVolume allow-when-locked=true { spawn "pamixer" "-d" "5"; }
XF86AudioMute allow-when-locked=true { spawn "pamixer" "-t"; }
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "set" "+10%"; }
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "set" "10%-"; }
}
// ── Window Rules ─────────────────────────────────────────────────────────────
// Fullscreen games: no border, open fullscreen, enable VRR
window-rule {
match app-id="steam_app_"
open-fullscreen true
border {
off
}
focus-ring {
off
}
variable-refresh-rate true
}
// Generic fullscreen request (any app asking to go fullscreen)
window-rule {
match is-focused=true
variable-refresh-rate true
}
// Wine System Tray: hide the host window, icons bridge to SNI via snixembed
window-rule {
match app-id="^explorer.exe$"
match title="^Wine System Tray$"
open-floating true
default-floating-position x=-9999 y=-9999
}
// Bolt Launcher
window-rule {
match app-id="^bolt-launcher$"
open-floating true
}
// RuneLite
window-rule {
match app-id="^(net-runelite-client-RuneLite|runelite|RuneLite)$"
open-floating true
border {
off
}
focus-ring {
off
}
}