diff options
| author | Natasha Moongrave <natasha@256phi.eu> | 2026-04-10 19:20:58 +0200 |
|---|---|---|
| committer | Natasha Moongrave <natasha@256phi.eu> | 2026-04-10 19:20:58 +0200 |
| commit | adcc6ca839c4780a8adb82de712ec3c9e4da33f3 (patch) | |
| tree | cafb7b744316ad79aef2bb2c899f920c4ae2cc83 /home/rices/schrottkatze/niri/kdl | |
| parent | a414126dbda913dcc33d5f9546a9f99859d1557f (diff) | |
| parent | 84d39cf904e7008434c1e5ed8257cf09b1875bea (diff) | |
Merge branch 'schrott-extract-rice'
Diffstat (limited to 'home/rices/schrottkatze/niri/kdl')
| -rw-r--r-- | home/rices/schrottkatze/niri/kdl/binds.kdl | 124 | ||||
| -rw-r--r-- | home/rices/schrottkatze/niri/kdl/input.kdl | 22 | ||||
| -rw-r--r-- | home/rices/schrottkatze/niri/kdl/overviews.kdl | 19 | ||||
| -rw-r--r-- | home/rices/schrottkatze/niri/kdl/privacy.kdl | 12 | ||||
| -rw-r--r-- | home/rices/schrottkatze/niri/kdl/quirks.kdl | 42 | ||||
| -rw-r--r-- | home/rices/schrottkatze/niri/kdl/screenshot.kdl | 6 | ||||
| -rw-r--r-- | home/rices/schrottkatze/niri/kdl/style.kdl | 84 | ||||
| -rw-r--r-- | home/rices/schrottkatze/niri/kdl/workspaces.kdl.disabled | 63 |
8 files changed, 372 insertions, 0 deletions
diff --git a/home/rices/schrottkatze/niri/kdl/binds.kdl b/home/rices/schrottkatze/niri/kdl/binds.kdl new file mode 100644 index 0000000..e79b3fc --- /dev/null +++ b/home/rices/schrottkatze/niri/kdl/binds.kdl @@ -0,0 +1,124 @@ +binds { + // spawn terminal + Mod+Return repeat=false { spawn "kitty"; } + Mod+D repeat=false { spawn "fuzzel"; } + Mod+M repeat=false { spawn "hyprpicker"; } + Mod+I repeat=false { spawn "bemoji" "-n"; } + Mod+N repeat=false { spawn "firefox"; } + Mod+E repeat=false { spawn "kitty" "vi" "~/.config/niri/live.kdl"; } + + Mod+Ctrl+Shift+E { quit; } + Mod+Q { close-window; } + Mod+Ctrl+Shift+P { power-off-monitors; } + + Mod+Shift+Ctrl+Slash allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } + + Mod+Shift+Slash { show-hotkey-overlay; } + + Mod+Shift+C { set-dynamic-cast-window; } + Mod+Ctrl+C { set-dynamic-cast-monitor; } + Mod+Shift+Ctrl+C { clear-dynamic-cast-target; } + + // window/columns controls (focus: vim keys) + Mod+H { focus-column-left; } + Mod+J { focus-window-down; } + Mod+K { focus-window-up; } + Mod+L { focus-column-right; } + + // window/columns controls (focus: arrow keys) + Mod+Left { focus-column-left; } + Mod+Down { focus-window-down; } + Mod+Up { focus-window-up; } + Mod+Right { focus-column-right; } + + // move windows (vim keys) + Mod+Shift+H { move-column-left; } + Mod+Shift+J { move-window-down; } + Mod+Shift+K { move-window-up; } + Mod+Shift+L { move-column-right; } + + // move windows (arrow keys) + Mod+Shift+Left { move-column-left; } + Mod+Shift+Down { move-window-down; } + Mod+Shift+Up { move-window-up; } + Mod+Shift+Right { move-column-right; } + + Mod+R { switch-preset-column-width; } + + Mod+Space { toggle-overview; } + + Mod+V { toggle-window-floating; } + Mod+Shift+V { switch-focus-between-floating-and-tiling; } + + // workspace navigation + Mod+P { focus-workspace-up; } + Mod+Ctrl+P { move-workspace-up; } + Mod+Shift+P { move-column-to-workspace-up; } + Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } + Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } + Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } + Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } + 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; } + + // monitor controls + Mod+Ctrl+H { focus-monitor-left; } + Mod+Ctrl+J { focus-monitor-down; } + Mod+Ctrl+K { focus-monitor-up; } + Mod+Ctrl+L { focus-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; } + + // column editing stuffs + Mod+BracketLeft { consume-or-expel-window-left; } + Mod+BracketRight { consume-or-expel-window-right; } + Mod+C { center-column; } + Mod+Minus { set-column-width "-5%"; } + Mod+Equal { set-column-width "+5%"; } + Mod+Shift+Minus { set-window-height "-10%"; } + Mod+Shift+Equal { set-window-height "+10%"; } + Mod+Shift+W { toggle-column-tabbed-display; } + + Mod+F { maximize-column; } + Alt+F { expand-column-to-available-width; } + Mod+Shift+F { maximize-window-to-edges; } + Mod+Ctrl+F { fullscreen-window; } + + Mod+Shift+Ctrl+F { toggle-windowed-fullscreen; } + + // media keys + XF86AudioLowerVolume \ + allow-when-locked=true \ + { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%-"; } + XF86AudioMicMute \ + allow-when-locked=true \ + { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; } + XF86AudioMute \ + allow-when-locked=true \ + { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; } + XF86AudioRaiseVolume \ + allow-when-locked=true \ + { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%+"; } + + // brightness keys + XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "set" "5%+"; } + XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "set" "5%-"; } +} diff --git a/home/rices/schrottkatze/niri/kdl/input.kdl b/home/rices/schrottkatze/niri/kdl/input.kdl new file mode 100644 index 0000000..fa398b2 --- /dev/null +++ b/home/rices/schrottkatze/niri/kdl/input.kdl @@ -0,0 +1,22 @@ +input { + keyboard { + xkb { + layout "cz" + options "eurosign:e,caps:escape" + } + + repeat-delay 600 + repeat-rate 25 + track-layout "global" + } + + touchpad { + dwt + dwtp + natural-scroll + } + + mouse { + accel-profile "flat" + } +} diff --git a/home/rices/schrottkatze/niri/kdl/overviews.kdl b/home/rices/schrottkatze/niri/kdl/overviews.kdl new file mode 100644 index 0000000..5cb4443 --- /dev/null +++ b/home/rices/schrottkatze/niri/kdl/overviews.kdl @@ -0,0 +1,19 @@ +overview { + backdrop-color "110000" + zoom 0.381966 + workspace-shadow { + offset x=0 y=10 + softness 60 + color "#7f00008f" + } +} + +recent-windows { + debounce-ms 1500 + open-delay-ms 300 + highlight { + active-color "f69ecf" + padding 5 + corner-radius 2.5 + } +} diff --git a/home/rices/schrottkatze/niri/kdl/privacy.kdl b/home/rices/schrottkatze/niri/kdl/privacy.kdl new file mode 100644 index 0000000..1190aeb --- /dev/null +++ b/home/rices/schrottkatze/niri/kdl/privacy.kdl @@ -0,0 +1,12 @@ +layer-rule { + match namespace="notifications" + block-out-from "screen-capture" +} + +window-rule { + match app-id="^signal|Element|org.gnome.Evolution$" + match title="^.*(Discord|Beispiel Screenshare block Bug|Bitwarden|Träwelling).*$" + exclude title="^.*((Schrottkatze|Statistics|Leaderboard) - Träwelling|chaos.social|Nekoverse|catgirl.cloud).*$" + exclude is-floating=true + block-out-from "screen-capture" +} diff --git a/home/rices/schrottkatze/niri/kdl/quirks.kdl b/home/rices/schrottkatze/niri/kdl/quirks.kdl new file mode 100644 index 0000000..07fa886 --- /dev/null +++ b/home/rices/schrottkatze/niri/kdl/quirks.kdl @@ -0,0 +1,42 @@ +// handle steam grabbing focus 1000 times on startup +window-rule { + match app-id="steam" title="Steam" + open-focused false +} + +// position steam notifs correctly: https://github.com/YaLTeR/niri/wiki/Application-Issues +window-rule { + match app-id="steam" title="^notificationtoasts_[\\d]+_desktop$" + open-focused false + border { off; } + shadow { off; } + baba-is-float false + default-floating-position relative-to="bottom-right" x=0 y=0 +} + +// fix guild wars +window-rule { + match app-id="steam_app_1284210" title="Guild Wars 2" + match app-id="(steam_app_[0-9]+|[Mm]inecraft.*|gamescope)" + border { off; } + shadow { off; } +} + +window-rule { + match app-id="chromium-browser" + geometry-corner-radius 6 6 1 1 +} + +window-rule { + match app-id="vesktop" is-floating=true + geometry-corner-radius 6 +} + +environment { + ELECTRON_OZONE_PLATFORM_HINT "auto" +} + +window-rule { + match app-id="zenity" + geometry-corner-radius 16 +} diff --git a/home/rices/schrottkatze/niri/kdl/screenshot.kdl b/home/rices/schrottkatze/niri/kdl/screenshot.kdl new file mode 100644 index 0000000..5a5966b --- /dev/null +++ b/home/rices/schrottkatze/niri/kdl/screenshot.kdl @@ -0,0 +1,6 @@ +screenshot-path "~/Pictures/screenshots/%Y-%m-%dT%H:%M:%S.png" +binds { + Mod+Ctrl+S { screenshot-screen; } + Mod+Shift+S { screenshot; } + Mod+S { screenshot-window; } +} diff --git a/home/rices/schrottkatze/niri/kdl/style.kdl b/home/rices/schrottkatze/niri/kdl/style.kdl new file mode 100644 index 0000000..fccf795 --- /dev/null +++ b/home/rices/schrottkatze/niri/kdl/style.kdl @@ -0,0 +1,84 @@ +prefer-no-csd + +cursor { + xcursor-theme "phinger-cursors-dark" + xcursor-size 32 + hide-when-typing + hide-after-inactive-ms 10000 +} + +layout { + gaps 15 + struts { + left 0 + right 0 + top 0 + bottom 0 + } + focus-ring { off; } + border { + on + width 3 + active-gradient angle=135 from="#f69ecf" in="oklch shorter hue" relative-to="window" to="#5bcefa" + inactive-gradient angle=135 from="#f69ecf" in="oklch shorter hue" relative-to="window" to="#ff9a56" + } + tab-indicator { + hide-when-single-tab + gap 2 + width 5 + length total-proportion=0.500000 + position "left" + gaps-between-tabs 0 + corner-radius 3 + active-color "#5bcefa" + inactive-color "#3c3836" + } + default-column-width + center-focused-column "never" +} + +window-rule { + match is-floating=true + exclude app-id="steam_app_[0-9]+" + shadow { + on + offset x=0 y=0 + softness 40 + color "#bab9e5af" + inactive-color "#fa9d99af" + } +} + +window-rule { + geometry-corner-radius 1 + clip-to-geometry true +} + +window-rule { + match is-window-cast-target=true + border { + on + active-gradient angle=135 \ + from="#64de50" \ + in="oklch shorter hue" \ + relative-to="window" \ + to="#5bcefa" + inactive-gradient angle=135 \ + from="#64de50" \ + in="oklch shorter hue" \ + relative-to="window" \ + to="#ff9a56" + } +} + +layer-rule { + match namespace="launcher" + geometry-corner-radius 10 + shadow { + on + offset x=0 y=0 + softness 40 + color "#bab9e5af" + } + baba-is-float true +} diff --git a/home/rices/schrottkatze/niri/kdl/workspaces.kdl.disabled b/home/rices/schrottkatze/niri/kdl/workspaces.kdl.disabled new file mode 100644 index 0000000..e5b51b4 --- /dev/null +++ b/home/rices/schrottkatze/niri/kdl/workspaces.kdl.disabled @@ -0,0 +1,63 @@ +// WS Social +workspace "social" + +spawn-at-startup "signal-desktop" +spawn-at-startup ".evolution-wrapped_" +spawn-at-startup "vesktop" +spawn-at-startup "deltachat" + +window-rule { + match app-id="^(signal|Element|org.gnome.Evolution|discord|steam|DeltaChat)$" + open-on-workspace "social" +} + +// WS Browser +workspace "browser" + +spawn-at-startup "firefox" +spawn-at-startup "obsidian" + +window-rule { + match app-id="^firefox|Chromium-browser|obsidian$" + open-on-workspace "browser" +} + +binds { + Mod+P { focus-workspace-up; } + Mod+N { focus-workspace-down; } + Mod+Ctrl+P { move-workspace-up; } + Mod+Ctrl+N { move-workspace-down; } + Mod+Shift+P { move-column-to-workspace-up; } + Mod+Shift+N { move-column-to-workspace-down; } + + Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } + Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } + Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } + Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } + + Mod+Q { focus-workspace "social"; } + Mod+W { focus-workspace "browser"; } + Mod+E { focus-workspace 3; } + Mod+Ctrl+Q { move-column-to-workspace "social"; } + Mod+Ctrl+W { move-column-to-workspace "browser"; } + Mod+Ctrl+E { move-column-to-workspace 3; } + + Mod+1 { focus-workspace 4; } + Mod+2 { focus-workspace 5; } + Mod+3 { focus-workspace 6; } + Mod+4 { focus-workspace 7; } + Mod+5 { focus-workspace 8; } + Mod+6 { focus-workspace 9; } + Mod+7 { focus-workspace 10; } + Mod+8 { focus-workspace 11; } + Mod+9 { focus-workspace 12; } + Mod+Ctrl+1 { move-column-to-workspace 4; } + Mod+Ctrl+2 { move-column-to-workspace 5; } + Mod+Ctrl+3 { move-column-to-workspace 6; } + Mod+Ctrl+4 { move-column-to-workspace 7; } + Mod+Ctrl+5 { move-column-to-workspace 8; } + Mod+Ctrl+6 { move-column-to-workspace 9; } + Mod+Ctrl+7 { move-column-to-workspace 10; } + Mod+Ctrl+8 { move-column-to-workspace 11; } + Mod+Ctrl+9 { move-column-to-workspace 12; } +} |
