diff options
| author | Mohammad Reza Karimi <m.r.karimi.j@gmail.com> | 2026-02-23 15:03:10 -0500 |
|---|---|---|
| committer | Mohammad Reza Karimi <m.r.karimi.j@gmail.com> | 2026-02-23 15:03:10 -0500 |
| commit | 36a274dbc066068ff25b839e21ce3b82ec292c88 (patch) | |
| tree | 7e3de8bafab79cfa86c93f467413b8f43273a8a5 /niri-dms/dot-config | |
| parent | b29aab34dff6b76fd8eb067d51d2fe41be594616 (diff) | |
Diffstat (limited to 'niri-dms/dot-config')
| -rw-r--r-- | niri-dms/dot-config/niri/config.kdl | 305 | ||||
| -rw-r--r-- | niri-dms/dot-config/niri/dms/alttab.kdl | 10 | ||||
| -rw-r--r-- | niri-dms/dot-config/niri/dms/binds.kdl | 3 | ||||
| -rw-r--r-- | niri-dms/dot-config/niri/dms/colors.kdl | 39 | ||||
| -rw-r--r-- | niri-dms/dot-config/niri/dms/cursor.kdl | 0 | ||||
| -rw-r--r-- | niri-dms/dot-config/niri/dms/layout.kdl | 22 | ||||
| -rw-r--r-- | niri-dms/dot-config/niri/dms/outputs.kdl | 0 | ||||
| -rw-r--r-- | niri-dms/dot-config/niri/dms/windowrules.kdl | 0 | ||||
| -rw-r--r-- | niri-dms/dot-config/niri/dms/wpblur.kdl | 9 | ||||
| -rw-r--r-- | niri-dms/dot-config/systemd/user/app-graphical.slice | 7 |
10 files changed, 395 insertions, 0 deletions
diff --git a/niri-dms/dot-config/niri/config.kdl b/niri-dms/dot-config/niri/config.kdl new file mode 100644 index 0000000..ec3663d --- /dev/null +++ b/niri-dms/dot-config/niri/config.kdl @@ -0,0 +1,305 @@ +output "eDP-1" { + mode "2880x1800@120.000" + scale 1.75 + transform "normal" + position x=0 y=0 +} + +gestures { + hot-corners { + off + } +} + +input { + keyboard { + xkb { + layout "us,ir" + variant ",pes_keypad" + options "grp:shifts_toggle" + } + repeat-delay 300 + repeat-rate 50 + } + + touchpad { + tap + } + + mouse { + } + + trackpoint { + } + + // warp-mouse-to-focus + // focus-follows-mouse max-scroll-amount="0%" +} + +layout { + background-color "transparent" + gaps 4 + + focus-ring { + width 2 + active-color "#80aa9e" + inactive-color "#a89984" + urgent-color "#e96962" + } + + border { + width 2 + active-color "#80aa9e" + inactive-color "#a89984" + urgent-color "#e96962" + } + + shadow { + off + } + + tab-indicator { + active-color "#80aa9e" + inactive-color "#a89984" + urgent-color "#e96962" + } + + insert-hint { + color "#80aa9e80" + } + + center-focused-column "never" + + preset-column-widths { + proportion 0.33333 + proportion 0.5 + proportion 0.66667 + } + + default-column-width { proportion 0.5; } + + struts { + } +} + +overview { + workspace-shadow { + off + } +} + +environment { + XDG_CURRENT_DESKTOP "niri" +} + +hotkey-overlay { + skip-at-startup +} + +prefer-no-csd + +screenshot-path "~/Pictures/scrots/screenshot-%Y-%m-%d_%H-%M-%S.png" + +animations { + // workspace-switch { + // spring damping-ratio=0.80 stiffness=523 epsilon=0.0001 + // } + window-open { + duration-ms 150 + curve "ease-out-expo" + } + window-close { + 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 + // } +} + +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 +} + +window-rule { + geometry-corner-radius 6 + clip-to-geometry true + tiled-state true + draw-border-with-background false +} + +debug { + honor-xdg-activation-with-invalid-serial +} + +// Override to disable super+tab +recent-windows { + highlight { + active-color "#0d3138" + urgent-color "#e96962" + } + 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"; } + } +} + +binds { + Mod+Shift+Slash { show-hotkey-overlay; } + + 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+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"; } + + 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-"; } + XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && update-led-mute sink"; } + XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle && update-led-mute source"; } + + XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; } + XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; } + + Mod+O repeat=false { toggle-overview; } + + Mod+Shift+C repeat=false { close-window; } + + Mod+H { focus-column-left; } + 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-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; } + Mod+Shift+Home { move-column-to-first; } + Mod+Shift+End { move-column-to-last; } + + Mod+Ctrl+Left { focus-monitor-left; } + Mod+Ctrl+Down { focus-monitor-down; } + Mod+Ctrl+Up { focus-monitor-up; } + Mod+Ctrl+Right { focus-monitor-right; } + + Mod+Shift+Left { move-column-to-monitor-left; } + Mod+Shift+Down { move-column-to-monitor-down; } + Mod+Shift+Up { move-column-to-monitor-up; } + Mod+Shift+Right { move-column-to-monitor-right; } + + 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 focus=false; } + Mod+Shift+2 { move-column-to-workspace 2 focus=false; } + Mod+Shift+3 { move-column-to-workspace 3 focus=false; } + Mod+Shift+4 { move-column-to-workspace 4 focus=false; } + Mod+Shift+5 { move-column-to-workspace 5 focus=false; } + Mod+Shift+6 { move-column-to-workspace 6 focus=false; } + Mod+Shift+7 { move-column-to-workspace 7 focus=false; } + Mod+Shift+8 { move-column-to-workspace 8 focus=false; } + Mod+Shift+9 { move-column-to-workspace 9 focus=false; } + + 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 { switch-preset-column-width-back; } + 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 { maximize-window-to-edges; } + + Mod+C { center-column; } + 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+Shift+Space { toggle-window-floating; } + Mod+Space { switch-focus-between-floating-and-tiling; } + + Mod+W { toggle-column-tabbed-display; } + + Print { screenshot; } + Ctrl+Print { screenshot-screen; } + Alt+Print { screenshot-window; } + Mod+Print { spawn-sh "dms color pick -a"; } + + Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } + + Mod+Shift+E { quit; } + + Mod+Shift+P { power-off-monitors; } +} diff --git a/niri-dms/dot-config/niri/dms/alttab.kdl b/niri-dms/dot-config/niri/dms/alttab.kdl new file mode 100644 index 0000000..2d49f89 --- /dev/null +++ b/niri-dms/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 6 + } + } diff --git a/niri-dms/dot-config/niri/dms/binds.kdl b/niri-dms/dot-config/niri/dms/binds.kdl new file mode 100644 index 0000000..e34bd8a --- /dev/null +++ b/niri-dms/dot-config/niri/dms/binds.kdl @@ -0,0 +1,3 @@ +binds { + Mod+X { spawn "dms" "ipc" "lock" "lock"; } +} diff --git a/niri-dms/dot-config/niri/dms/colors.kdl b/niri-dms/dot-config/niri/dms/colors.kdl new file mode 100644 index 0000000..cde2c23 --- /dev/null +++ b/niri-dms/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 "#80aa9e" + inactive-color "#a89984" + urgent-color "#e96962" + } + + border { + active-color "#80aa9e" + inactive-color "#a89984" + urgent-color "#e96962" + } + + shadow { + color "#00000070" + } + + tab-indicator { + active-color "#80aa9e" + inactive-color "#a89984" + urgent-color "#e96962" + } + + insert-hint { + color "#80aa9e80" + } +} + +recent-windows { + highlight { + active-color "#0d3138" + urgent-color "#e96962" + } +} diff --git a/niri-dms/dot-config/niri/dms/cursor.kdl b/niri-dms/dot-config/niri/dms/cursor.kdl new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/niri-dms/dot-config/niri/dms/cursor.kdl diff --git a/niri-dms/dot-config/niri/dms/layout.kdl b/niri-dms/dot-config/niri/dms/layout.kdl new file mode 100644 index 0000000..ed234cf --- /dev/null +++ b/niri-dms/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 6 + clip-to-geometry true + tiled-state true + draw-border-with-background false + } diff --git a/niri-dms/dot-config/niri/dms/outputs.kdl b/niri-dms/dot-config/niri/dms/outputs.kdl new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/niri-dms/dot-config/niri/dms/outputs.kdl diff --git a/niri-dms/dot-config/niri/dms/windowrules.kdl b/niri-dms/dot-config/niri/dms/windowrules.kdl new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/niri-dms/dot-config/niri/dms/windowrules.kdl diff --git a/niri-dms/dot-config/niri/dms/wpblur.kdl b/niri-dms/dot-config/niri/dms/wpblur.kdl new file mode 100644 index 0000000..3d58802 --- /dev/null +++ b/niri-dms/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 +} diff --git a/niri-dms/dot-config/systemd/user/app-graphical.slice b/niri-dms/dot-config/systemd/user/app-graphical.slice new file mode 100644 index 0000000..bc5ea6d --- /dev/null +++ b/niri-dms/dot-config/systemd/user/app-graphical.slice @@ -0,0 +1,7 @@ +[Unit] +Description=User Graphical Application Slice +Documentation=man:systemd.special(7) +PartOf=graphical-session.target +After=graphical-session.target +Conflicts=niri-shutdown.target +Before=niri-shutdown.target |
