aboutsummaryrefslogtreecommitdiff
path: root/niri/dot-config
diff options
context:
space:
mode:
authorMohammad Reza Karimi <m.r.karimi.j@gmail.com>2026-01-29 11:40:03 -0500
committerMohammad Reza Karimi <m.r.karimi.j@gmail.com>2026-01-29 11:40:03 -0500
commitab7303e1d893f33e09dbc8493f9a9179a7a40a4a (patch)
treeaaa279dd2282ef48f4f684768ccb422e0dab30fe /niri/dot-config
parente2a70a92822b22633562e9695c300efec2b5cbeb (diff)
updates
Diffstat (limited to 'niri/dot-config')
-rw-r--r--niri/dot-config/niri/config.kdl165
-rw-r--r--niri/dot-config/niri/dms/alttab.kdl10
-rw-r--r--niri/dot-config/niri/dms/binds.kdl3
-rw-r--r--niri/dot-config/niri/dms/colors.kdl39
-rw-r--r--niri/dot-config/niri/dms/cursor.kdl0
-rw-r--r--niri/dot-config/niri/dms/layout.kdl22
-rw-r--r--niri/dot-config/niri/dms/outputs.kdl0
-rw-r--r--niri/dot-config/niri/dms/wpblur.kdl9
8 files changed, 206 insertions, 42 deletions
diff --git a/niri/dot-config/niri/config.kdl b/niri/dot-config/niri/config.kdl
index 7300b76..1c41ffd 100644
--- a/niri/dot-config/niri/config.kdl
+++ b/niri/dot-config/niri/config.kdl
@@ -1,4 +1,20 @@
-// vim: expandtab sw=4 ts=4 autoindent smartindent
+config-notification {
+ disable-failed
+}
+
+output "eDP-1" {
+ mode "2880x1800@120.000"
+ scale 1.75
+ transform "normal"
+ position x=0 y=0
+}
+
+
+gestures {
+ hot-corners {
+ off
+ }
+}
input {
keyboard {
@@ -22,22 +38,13 @@ input {
}
// warp-mouse-to-focus
-
- // Setting max-scroll-amount="0%" makes it work only on windows already fully on screen.
// focus-follows-mouse max-scroll-amount="0%"
}
-output "eDP-1" {
- mode "2880x1800@120.000"
- scale 1.75
- transform "normal"
- position x=0 y=0
-}
-
layout {
- gaps 10
+ background-color "transparent"
center-focused-column "never"
- // always-center-single-column
+
preset-column-widths {
proportion 0.33333
proportion 0.5
@@ -46,20 +53,31 @@ layout {
default-column-width { proportion 0.5; }
- focus-ring {
- width 2
- active-color "#627777"
- inactive-color "#627777"
- }
-
border {
off
}
-
shadow {
+ off
+ }
+ struts {
+ }
+}
+
+layer-rule {
+ match namespace="^quickshell$"
+ place-within-backdrop true
+}
+
+overview {
+ workspace-shadow {
+ off
}
}
+environment {
+ XDG_CURRENT_DESKTOP "niri"
+}
+
hotkey-overlay {
skip-at-startup
}
@@ -70,21 +88,86 @@ screenshot-path "~/Pictures/scrots/screenshot-%Y-%m-%d_%H-%M-%S.png"
animations {
workspace-switch {
- off
+ spring damping-ratio=0.80 stiffness=523 epsilon=0.0001
}
window-open {
- duration-ms 100
+ duration-ms 150
curve "ease-out-expo"
}
window-close {
- duration-ms 100
+ duration-ms 150
+ curve "ease-out-quad"
+ }
+ horizontal-view-movement {
+ spring damping-ratio=0.85 stiffness=423 epsilon=0.0001
+ }
+ window-movement {
+ spring damping-ratio=0.75 stiffness=323 epsilon=0.0001
+ }
+ window-resize {
+ spring damping-ratio=0.85 stiffness=423 epsilon=0.0001
+ }
+ config-notification-open-close {
+ spring damping-ratio=0.65 stiffness=923 epsilon=0.001
+ }
+ screenshot-ui-open {
+ duration-ms 200
curve "ease-out-quad"
}
+ overview-open-close {
+ spring damping-ratio=0.85 stiffness=800 epsilon=0.0001
+ }
}
-gestures {
- hot-corners {
- off
+window-rule {
+ match app-id=r#"^org\.gnome\."#
+ draw-border-with-background false
+ geometry-corner-radius 12
+ clip-to-geometry true
+}
+
+window-rule {
+ match app-id=r#"^pavucontrol$"#
+ default-column-width { proportion 0.5; }
+ open-floating false
+}
+
+window-rule {
+ match app-id=r#"^org\.gnome\.Nautilus$"#
+ match app-id=r#"^xdg-desktop-portal$"#
+ open-floating true
+}
+
+window-rule {
+ match app-id="gay.vaskel.soteria"
+ match app-id="Pinentry-gtk"
+ open-floating true
+ open-focused true
+}
+
+window-rule {
+ match app-id="Alacritty"
+ match app-id="com.mitchellh.ghostty"
+ draw-border-with-background false
+}
+
+// Open dms windows as floating by default
+window-rule {
+ match app-id=r#"org.quickshell$"#
+ open-floating true
+}
+
+debug {
+ honor-xdg-activation-with-invalid-serial
+}
+
+// Override to disable super+tab
+recent-windows {
+ binds {
+ Alt+Tab { next-window scope="output"; }
+ Alt+Shift+Tab { previous-window scope="output"; }
+ Alt+grave { next-window filter="app-id"; }
+ Alt+Shift+grave { previous-window filter="app-id"; }
}
}
@@ -93,12 +176,12 @@ binds {
Mod+Return hotkey-overlay-title="Open a Terminal: alacritty" { spawn-sh "runapp -o alacritty"; }
Mod+P hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; }
- Mod+X hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; }
+ // Mod+X hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; }
Mod+B hotkey-overlay-title="Open browser" { spawn-sh "runapp -o qutebrowser"; }
Mod+M hotkey-overlay-title="Open mail" { spawn-sh "runapp -o -- alacritty -e aerc"; }
Mod+S hotkey-overlay-title="Open schedule" { spawn-sh "runapp -o -- alacritty -e ikhal"; }
- Mod+Shift+B { spawn "toggle-waybar"; }
+ // Mod+Shift+B { spawn "toggle-waybar"; }
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+ -l 1.0"; }
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-"; }
@@ -113,14 +196,14 @@ binds {
Mod+Shift+C repeat=false { close-window; }
Mod+H { focus-column-left; }
- Mod+J { focus-window-down; }
- Mod+K { focus-window-up; }
+ Mod+J { focus-window-or-workspace-down; }
+ Mod+K { focus-window-or-workspace-up; }
Mod+L { focus-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+H { move-column-left-or-to-monitor-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-or-to-monitor-right; }
Mod+Home { focus-column-first; }
Mod+End { focus-column-last; }
@@ -156,9 +239,6 @@ binds {
Mod+Shift+8 { move-column-to-workspace 8; }
Mod+Shift+9 { move-column-to-workspace 9; }
- // Switches focus between the current and the previous workspace.
- // Mod+Tab { focus-workspace-previous; }
-
Mod+BracketLeft { consume-or-expel-window-left; }
Mod+BracketRight { consume-or-expel-window-right; }
@@ -198,9 +278,10 @@ binds {
Mod+Shift+P { power-off-monitors; }
}
-window-rule {
- match app-id="gay.vaskel.soteria"
- match app-id="Pinentry-gtk"
- open-floating true
- open-focused true
-}
+// Include dms files
+include "dms/colors.kdl"
+include "dms/layout.kdl"
+include "dms/alttab.kdl"
+include "dms/binds.kdl"
+include "dms/outputs.kdl"
+include "dms/cursor.kdl"
diff --git a/niri/dot-config/niri/dms/alttab.kdl b/niri/dot-config/niri/dms/alttab.kdl
new file mode 100644
index 0000000..091ea07
--- /dev/null
+++ b/niri/dot-config/niri/dms/alttab.kdl
@@ -0,0 +1,10 @@
+// ! DO NOT EDIT !
+ // ! AUTO-GENERATED BY DMS !
+ // ! CHANGES WILL BE OVERWRITTEN !
+ // ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE !
+
+ recent-windows {
+ highlight {
+ corner-radius 12
+ }
+ }
diff --git a/niri/dot-config/niri/dms/binds.kdl b/niri/dot-config/niri/dms/binds.kdl
new file mode 100644
index 0000000..e34bd8a
--- /dev/null
+++ b/niri/dot-config/niri/dms/binds.kdl
@@ -0,0 +1,3 @@
+binds {
+ Mod+X { spawn "dms" "ipc" "lock" "lock"; }
+}
diff --git a/niri/dot-config/niri/dms/colors.kdl b/niri/dot-config/niri/dms/colors.kdl
new file mode 100644
index 0000000..145a179
--- /dev/null
+++ b/niri/dot-config/niri/dms/colors.kdl
@@ -0,0 +1,39 @@
+// ! Auto-generated file. Do not edit directly.
+// Remove `include "dms/colors.kdl"` from your config to override.
+
+layout {
+ background-color "transparent"
+
+ focus-ring {
+ active-color "#d0bcff"
+ inactive-color "#948f99"
+ urgent-color "#f2b8b5"
+ }
+
+ border {
+ active-color "#d0bcff"
+ inactive-color "#948f99"
+ urgent-color "#f2b8b5"
+ }
+
+ shadow {
+ color "#00000070"
+ }
+
+ tab-indicator {
+ active-color "#d0bcff"
+ inactive-color "#948f99"
+ urgent-color "#f2b8b5"
+ }
+
+ insert-hint {
+ color "#d0bcff80"
+ }
+}
+
+recent-windows {
+ highlight {
+ active-color "#4f378b"
+ urgent-color "#f2b8b5"
+ }
+}
diff --git a/niri/dot-config/niri/dms/cursor.kdl b/niri/dot-config/niri/dms/cursor.kdl
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/niri/dot-config/niri/dms/cursor.kdl
diff --git a/niri/dot-config/niri/dms/layout.kdl b/niri/dot-config/niri/dms/layout.kdl
new file mode 100644
index 0000000..431afbf
--- /dev/null
+++ b/niri/dot-config/niri/dms/layout.kdl
@@ -0,0 +1,22 @@
+// ! DO NOT EDIT !
+ // ! AUTO-GENERATED BY DMS !
+ // ! CHANGES WILL BE OVERWRITTEN !
+ // ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE !
+
+ layout {
+ gaps 4
+
+ border {
+ width 2
+ }
+
+ focus-ring {
+ width 2
+ }
+ }
+ window-rule {
+ geometry-corner-radius 12
+ clip-to-geometry true
+ tiled-state true
+ draw-border-with-background false
+ }
diff --git a/niri/dot-config/niri/dms/outputs.kdl b/niri/dot-config/niri/dms/outputs.kdl
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/niri/dot-config/niri/dms/outputs.kdl
diff --git a/niri/dot-config/niri/dms/wpblur.kdl b/niri/dot-config/niri/dms/wpblur.kdl
new file mode 100644
index 0000000..3d58802
--- /dev/null
+++ b/niri/dot-config/niri/dms/wpblur.kdl
@@ -0,0 +1,9 @@
+// ! DO NOT EDIT !
+// ! AUTO-GENERATED BY DMS !
+// ! CHANGES WILL BE OVERWRITTEN !
+// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE !
+
+layer-rule {
+ match namespace="dms:blurwallpaper"
+ place-within-backdrop true
+}