|
|
@@ -0,0 +1,319 @@
|
|
|
+// This config is in the KDL format: https://kdl.dev
|
|
|
+// "/-" comments out the following node.
|
|
|
+// Check the wiki for a full description of the configuration:
|
|
|
+// https://yalter.github.io/niri/Configuration:-Introduction
|
|
|
+
|
|
|
+input {
|
|
|
+ keyboard {
|
|
|
+ xkb {
|
|
|
+ layout "us"
|
|
|
+ variant "altgr-intl"
|
|
|
+ options "caps:escape"
|
|
|
+ }
|
|
|
+ numlock
|
|
|
+ }
|
|
|
+
|
|
|
+ touchpad {
|
|
|
+ tap
|
|
|
+ dwt
|
|
|
+ natural-scroll
|
|
|
+ accel-profile "adaptive"
|
|
|
+ accel-speed 0.5
|
|
|
+ }
|
|
|
+
|
|
|
+ mouse {
|
|
|
+ }
|
|
|
+
|
|
|
+ trackpoint {
|
|
|
+ }
|
|
|
+
|
|
|
+ focus-follows-mouse max-scroll-amount="0%"
|
|
|
+}
|
|
|
+
|
|
|
+layout {
|
|
|
+ gaps 16
|
|
|
+ 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 1
|
|
|
+ active-color "#7fc8ff"
|
|
|
+ inactive-color "#505050"
|
|
|
+ }
|
|
|
+
|
|
|
+ border {
|
|
|
+ off
|
|
|
+ width 4
|
|
|
+ active-color "#ffc87f"
|
|
|
+ inactive-color "#505050"
|
|
|
+ urgent-color "#9b0000"
|
|
|
+ }
|
|
|
+
|
|
|
+ shadow {
|
|
|
+ softness 30
|
|
|
+ spread 5
|
|
|
+ offset x=0 y=5
|
|
|
+ color "#0007"
|
|
|
+ }
|
|
|
+
|
|
|
+ struts {
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+animations {
|
|
|
+}
|
|
|
+
|
|
|
+workspace "Work"
|
|
|
+workspace "Web"
|
|
|
+workspace "Dev"
|
|
|
+workspace "Social"
|
|
|
+workspace "scratch"
|
|
|
+
|
|
|
+window-rule {
|
|
|
+ match app-id=r#"^uy\.com\.mzunino"#
|
|
|
+ open-on-workspace "scratch"
|
|
|
+ open-floating true
|
|
|
+}
|
|
|
+
|
|
|
+window-rule {
|
|
|
+ match app-id=r#"^com\.mzunino\.dev\."#
|
|
|
+ open-on-workspace "Dev"
|
|
|
+}
|
|
|
+
|
|
|
+window-rule {
|
|
|
+ match app-id=r#"^Slack$"#
|
|
|
+ open-on-workspace "Work"
|
|
|
+}
|
|
|
+
|
|
|
+window-rule {
|
|
|
+ match app-id=r#"^msedge-_cifhbcnohmdccbgoicgdjpfamggdegmo-Default$"#
|
|
|
+ open-on-workspace "Work"
|
|
|
+}
|
|
|
+
|
|
|
+window-rule {
|
|
|
+ match app-id=r#"^msedge-_faolnafnngnfdaknnbpnkhgohbobgegn-Default$"#
|
|
|
+ open-on-workspace "Work"
|
|
|
+}
|
|
|
+
|
|
|
+window-rule {
|
|
|
+ match app-id=r#"^zen-twilight$"#
|
|
|
+ open-on-workspace "Web"
|
|
|
+ open-maximized true
|
|
|
+}
|
|
|
+
|
|
|
+window-rule {
|
|
|
+ match app-id=r#"^thunderbird$"#
|
|
|
+ open-on-workspace "Social"
|
|
|
+}
|
|
|
+
|
|
|
+window-rule {
|
|
|
+ match app-id=r#"^vesktop$"#
|
|
|
+ open-on-workspace "Social"
|
|
|
+}
|
|
|
+
|
|
|
+// Block out notifications from screencasts
|
|
|
+layer-rule {
|
|
|
+ match namespace=r#"^noctalia-notifications-"#
|
|
|
+ block-out-from "screencast"
|
|
|
+}
|
|
|
+
|
|
|
+window-rule {
|
|
|
+ match is-window-cast-target=true
|
|
|
+
|
|
|
+ focus-ring {
|
|
|
+ active-color "#f38ba8"
|
|
|
+ inactive-color "#7d0d2d"
|
|
|
+ }
|
|
|
+
|
|
|
+ border {
|
|
|
+ inactive-color "#7d0d2d"
|
|
|
+ }
|
|
|
+
|
|
|
+ shadow {
|
|
|
+ color "#7d0d2d70"
|
|
|
+ }
|
|
|
+
|
|
|
+ tab-indicator {
|
|
|
+ active-color "#f38ba8"
|
|
|
+ inactive-color "#7d0d2d"
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+binds {
|
|
|
+ Mod+Shift+Slash { show-hotkey-overlay; }
|
|
|
+
|
|
|
+ Mod+Return { spawn "ghostty" "--gtk-single-instance=true"; }
|
|
|
+ Mod+T { spawn-sh "~/.local/bin/niri-dev-launcher ~/Dev"; }
|
|
|
+ Mod+Shift+T { spawn-sh "~/.local/bin/niri-dev-launcher --no-cache ~/Dev"; }
|
|
|
+ Mod+U { spawn-sh "~/test.py -id 'uy.com.mzunino'"; }
|
|
|
+ Mod+Shift+U { spawn-sh "ghostty --window-height=600 --window-width=1200 --class=uy.com.mzunino"; }
|
|
|
+ Mod+D hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; }
|
|
|
+ Mod+N { spawn-sh "~/.local/bin/sdm-ui.sh dmenu"; }
|
|
|
+ Mod+E { spawn-sh "~/.local/bin/niri-launch-or-focus thunar"; }
|
|
|
+ Mod+Y { spawn-sh "noctalia-shell ipc call launcher clipboard"; }
|
|
|
+ Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; }
|
|
|
+ Super+Alt+S allow-when-locked=true hotkey-overlay-title=null { spawn-sh "pkill orca || exec orca"; }
|
|
|
+
|
|
|
+ XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "noctalia-shell ipc call volume increase"; }
|
|
|
+ XF86AudioLowerVolume allow-when-locked=true { spawn-sh "noctalia-shell ipc call volume decrease"; }
|
|
|
+ XF86AudioMute allow-when-locked=true { spawn-sh "noctalia-shell ipc call volume mute"; }
|
|
|
+ XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
|
|
|
+
|
|
|
+ XF86MonBrightnessUp allow-when-locked=true { spawn-sh "noctalia-shell ipc call brightness increase"; }
|
|
|
+ XF86MonBrightnessDown allow-when-locked=true { spawn-sh "noctalia-shell ipc call brightness decrease"; }
|
|
|
+
|
|
|
+ Mod+O repeat=false { toggle-overview; }
|
|
|
+
|
|
|
+ Mod+Q repeat=false { close-window; }
|
|
|
+ Mod+MouseMiddle { 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+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; }
|
|
|
+
|
|
|
+ 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+Shift+H { move-column-left; }
|
|
|
+ Mod+Shift+J { move-window-down; }
|
|
|
+ Mod+Shift+K { move-window-up; }
|
|
|
+ Mod+Shift+L { move-column-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; }
|
|
|
+
|
|
|
+ Mod+Page_Down { focus-workspace-down; }
|
|
|
+ Mod+Page_Up { focus-workspace-up; }
|
|
|
+ Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
|
|
|
+ Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
|
|
|
+ Mod+Ctrl+U { move-column-to-workspace-down; }
|
|
|
+ Mod+Ctrl+I { move-column-to-workspace-up; }
|
|
|
+
|
|
|
+ Mod+Shift+Page_Down { move-workspace-down; }
|
|
|
+ Mod+Shift+Page_Up { move-workspace-up; }
|
|
|
+ Mod+Shift+I { move-workspace-up; }
|
|
|
+
|
|
|
+ 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; }
|
|
|
+
|
|
|
+ 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-column-to-workspace 1; }
|
|
|
+ Mod+Shift+2 { move-column-to-workspace 2; }
|
|
|
+ Mod+Shift+3 { move-column-to-workspace 3; }
|
|
|
+ Mod+Shift+4 { move-column-to-workspace 4; }
|
|
|
+ Mod+Shift+5 { move-column-to-workspace 5; }
|
|
|
+ Mod+Shift+6 { move-column-to-workspace 6; }
|
|
|
+ Mod+Shift+7 { move-column-to-workspace 7; }
|
|
|
+ Mod+Shift+8 { move-column-to-workspace 8; }
|
|
|
+ Mod+Shift+9 { move-column-to-workspace 9; }
|
|
|
+
|
|
|
+ Mod+BracketLeft { consume-or-expel-window-left; }
|
|
|
+ Mod+BracketRight { consume-or-expel-window-right; }
|
|
|
+
|
|
|
+ Mod+Comma { consume-window-into-column; }
|
|
|
+ Mod+Period { expel-window-from-column; }
|
|
|
+
|
|
|
+ Mod+R { spawn-sh "noctalia-shell ipc call screenRecorder toggle"; }
|
|
|
+ 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 repeat=false { close-window; }
|
|
|
+ Mod+Ctrl+C { center-visible-columns; }
|
|
|
+
|
|
|
+ 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%"; }
|
|
|
+
|
|
|
+ Mod+Space { toggle-window-floating; }
|
|
|
+ Mod+Shift+V { switch-focus-between-floating-and-tiling; }
|
|
|
+
|
|
|
+ Mod+W { toggle-column-tabbed-display; }
|
|
|
+
|
|
|
+ Mod+P { spawn-sh "rm -f /tmp/screenshot.png && niri msg action screenshot --show-pointer=false && for i in $(seq 1 100); do [ -f /tmp/screenshot.png ] && break; sleep 0.05; done && [ -f /tmp/screenshot.png ] && swappy -f /tmp/screenshot.png"; }
|
|
|
+
|
|
|
+ Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
|
|
+
|
|
|
+ Mod+Shift+E { spawn-sh "noctalia-shell ipc call sessionMenu toggle"; }
|
|
|
+}
|
|
|
+
|
|
|
+spawn-sh-at-startup "easyeffects --gapplication-service"
|
|
|
+spawn-at-startup "blueman-applet"
|
|
|
+spawn-at-startup "nm-applet"
|
|
|
+spawn-at-startup "noctalia-shell"
|
|
|
+spawn-at-startup "zen-twilight"
|
|
|
+spawn-at-startup "thunderbird"
|
|
|
+spawn-at-startup "vesktop"
|
|
|
+spawn-at-startup "slack"
|
|
|
+spawn-sh-at-startup "gtk-launch com.microsoft.Edge.flextop.msedge-cifhbcnohmdccbgoicgdjpfamggdegmo-Default"
|
|
|
+spawn-sh-at-startup "gtk-launch com.microsoft.Edge.flextop.msedge-faolnafnngnfdaknnbpnkhgohbobgegn-Default"
|
|
|
+spawn-sh-at-startup "ghostty --gtk-single-instance=true --quit-after-last-window-closed=false --initial-window=false"
|
|
|
+spawn-sh-at-startup "ghostty --window-height=600 --window-width=1200 --class=uy.com.mzunino"
|
|
|
+spawn-at-startup "niri" "msg" "action" "focus-workspace" "2"
|
|
|
+
|
|
|
+hotkey-overlay {
|
|
|
+}
|
|
|
+
|
|
|
+prefer-no-csd
|
|
|
+
|
|
|
+screenshot-path "/tmp/screenshot.png"
|
|
|
+
|