diff options
Diffstat (limited to 'dotfiles/.config/niri')
| -rw-r--r-- | dotfiles/.config/niri/config.kdl | 234 | ||||
| -rw-r--r-- | dotfiles/.config/niri/dms/alttab.kdl | 10 | ||||
| -rw-r--r-- | dotfiles/.config/niri/dms/binds.kdl | 88 | ||||
| -rw-r--r-- | dotfiles/.config/niri/dms/colors.kdl | 39 | ||||
| -rw-r--r-- | dotfiles/.config/niri/dms/cursor.kdl | 0 | ||||
| -rw-r--r-- | dotfiles/.config/niri/dms/layout.kdl | 22 | ||||
| -rw-r--r-- | dotfiles/.config/niri/dms/outputs.kdl | 14 | ||||
| -rw-r--r-- | dotfiles/.config/niri/dms/windowrules.kdl | 0 | ||||
| -rw-r--r-- | dotfiles/.config/niri/dms/wpblur.kdl | 9 | ||||
| -rw-r--r-- | dotfiles/.config/niri/noctalia-binds.kdl | 24 | ||||
| -rw-r--r-- | dotfiles/.config/niri/noctalia.kdl | 35 |
11 files changed, 351 insertions, 124 deletions
diff --git a/dotfiles/.config/niri/config.kdl b/dotfiles/.config/niri/config.kdl index f3eb4db..cd1f636 100644 --- a/dotfiles/.config/niri/config.kdl +++ b/dotfiles/.config/niri/config.kdl @@ -12,7 +12,7 @@ input { // You can set rules, model, layout, variant and options. // For more information, see xkeyboard-config(7). layout "us,es,ru" - options "lv3:ralt_switch,grp:alt_shift_toggle,misc:typo,caps:escape,grp_led:caps" + options "lv3:ralt_switch,grp:alt_space_toggle,misc:typo,caps:escape_shifted_capslock" } } @@ -65,50 +65,9 @@ cursor { hide-when-typing } - -// You can configure outputs by their name, which you can find -// by running `niri msg outputs` while inside a niri instance. -// The built-in laptop monitor is usually called "eDP-1". -// Find more information on the wiki: -// https://github.com/YaLTeR/niri/wiki/Configuration:-Outputs -// Remember to uncomment the node by removing "/-"! -output "eDP-1" { - // Uncomment this line to disable this output. - // off - - background-color "#000000" - - // Resolution and, optionally, refresh rate of the output. - // The format is "<width>x<height>" or "<width>x<height>@<refresh rate>". - // If the refresh rate is omitted, niri will pick the highest refresh rate - // for the resolution. - // If the mode is omitted altogether or is invalid, niri will pick one automatically. - // Run `niri msg outputs` while inside a niri instance to list all outputs and their modes. - // mode "1920x1080@120.030" - - // You can use integer or fractional scale, for example use 1.5 for 150% scale. - // scale 2 - - // Transform allows to rotate the output counter-clockwise, valid values are: - // normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270. - // transform "normal" - - // Position of the output in the global coordinate space. - // This affects directional monitor actions like "focus-monitor-left", and cursor movement. - // The cursor can only move between directly adjacent outputs. - // Output scale and rotation has to be taken into account for positioning: - // outputs are sized in logical, or scaled, pixels. - // For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080, - // so to put another output directly adjacent to it on the right, set its x to 1920. - // If the position is unset or results in an overlap, the output is instead placed - // automatically. - position x=0 y=800 -} - -output "DP-1" { - background-color "#000000" - position x=1536 y=0 - //mode "2560x1440@165.000" +overview { + zoom 0.33 + backdrop-color "#00807F" } // Settings that influence how windows are positioned and sized. @@ -116,7 +75,9 @@ output "DP-1" { // https://github.com/YaLTeR/niri/wiki/Configuration:-Layout layout { // Set gaps around windows in logical pixels. - gaps 5 + gaps 10 + + background-color "#00000000" // When to center a column when changing focus, options are: // - "never", default behavior, focusing an off-screen column will keep at the left @@ -203,7 +164,7 @@ layout { // active-color "#5b8277" // inactive-color "#4d4d42" - active-gradient from="#1f5c9a" to="#99d0b5" angle=60 + active-gradient from="#89b6a0" to="#0fc0d0" angle=90 inactive-gradient from="#252832" to="#676775" angle=45 } @@ -250,24 +211,32 @@ layout { // off // hide-when-single-tab place-within-column - gap 3 - width 6 + gap 0 + width 10 length total-proportion=0.8 // position "bottom" - gaps-between-tabs 3 - // corner-radius 8 - active-color "#99d0b5" - // inactive-color "gray" - active-gradient from="#1f5c9a" to="#99d0b5" angle=180 - inactive-gradient from="#252832" to="#676775" angle=180 + gaps-between-tabs 6 + corner-radius 2 + // active-color "#89b6a0" + // inactive-color "#ccbe99" + active-gradient from="#0fc0d0" to="#89b6a0" angle=180 + inactive-gradient from="#000000" to="#ccbe99" angle=180 } } -// Add lines like this to spawn processes at startup. -// Note that running niri as a session supports xdg-desktop-autostart, -// which may be more convenient to use. -// See the binds section below for more spawn examples. -// spawn-at-startup "alacritty" "-e" "fish" +gestures { + dnd-edge-view-scroll { + trigger-width 200 + delay-ms 200 + max-speed 4000 + } + + dnd-edge-workspace-switch { + trigger-height 100 + delay-ms 200 + max-speed 4000 + } +} // Uncomment this line to ask the clients to omit their client-side decorations if possible. // If the client will specifically ask for CSD, the request will be honored. @@ -295,6 +264,12 @@ animations { slowdown 0.4 } +blur { + passes 3 + noise 0.1 + saturation 1.5 +} + // Window rules let you adjust behavior for individual windows. // Find more information on the wiki: // https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules @@ -306,12 +281,22 @@ layer-rule { } layer-rule { - match namespace="notifications" match namespace="rofi" shadow { on; } } +layer-rule { + match layer="top" + match layer="overlay" + match namespace="notifications" + match namespace="rofi" + + background-effect { + xray false + } +} + // Work around WezTerm's initial configure bug // by setting an empty default-column-width. window-rule { @@ -324,21 +309,35 @@ window-rule { window-rule { match app-id="GLava" + match app-id="com.libretro.RetroArch" + border { off; } shadow { off; } } window-rule { - match app-id="Alacritty" + match app-id=r#"^[aA]+lacritty"# match app-id="Mattermost" + match app-id="org.telegram.desktop" + + default-column-width { fixed 770; } + + background-effect { + blur true + xray false + } +} + +window-rule { + match app-id="org.pwmt.zathura" - default-column-width { proportion 0.31; } + default-column-width { fixed 1100; } } window-rule { match app-id="org.qutebrowser.qutebrowser" - default-column-width { proportion 0.69; } + default-column-width { fixed 1150; } } // Example: block out two password managers from screen capture. @@ -361,51 +360,45 @@ window-rule { } spawn-at-startup "pipewire-restart" -spawn-at-startup "waybar_launch" spawn-at-startup "playerctld" "daemon" spawn-at-startup "mpd-restart" spawn-at-startup "blueman-applet" -spawn-at-startup "mako" -spawn-at-startup "setsessionenv" spawn-at-startup "bash" "-c" "GTK_IM_MODULE= fcitx5 -d" spawn-at-startup "xwayland-satellite" spawn-at-startup "setsessionenv" +// spawn-at-startup "qs" "-c" "noctalia-shell" +spawn-at-startup "dsearch" "serve" +spawn-at-startup "dms" "run" environment { DISPLAY ":0" TERM "alacritty" + QT_QPA_PLATFORM "wayland;xcb" + QT_QPA_PLATFORMTHEME "gtk3" + QT_QPA_PLATFORMTHEME_QT6 "gtk3" } -spawn-at-startup "gsettings" "set" "org.gnome.desktop.interface" "gtk-theme" "Breeze" -spawn-at-startup "gsettings" "set" "org.gnome.desktop.interface" "icon-theme" "Arc" +// spawn-at-startup "gsettings" "set" "org.gnome.desktop.interface" "gtk-theme" "Breeze" +// spawn-at-startup "gsettings" "set" "org.gnome.desktop.interface" "icon-theme" "Arc" spawn-at-startup "gsettings" "set" "org.gnome.desktop.interface" "font-name" "monospace 10" spawn-at-startup "gsettings" "set" "org.gnome.desktop.interface" "color-scheme" "prefer-dark" -spawn-at-startup "swaybg" "-i" "/home/yaroslav/.config/wall1.png" "-m" "fill" - -// Just a nice jingle on startup because why not -spawn-at-startup "canberra-gtk-play" "-i" "Oxygen-Sys-App-Positive" - binds { - // Keys consist of modifiers separated by + signs, followed by an XKB key name - // in the end. To find an XKB name for a particular key, you may use a program - // like wev. - // // "Mod" is a special modifier equal to Super when running on a TTY, and to Alt // when running as a winit window. // // Most actions that you can bind here can also be invoked programmatically with // `niri msg action do-something`. - // Mod-Shift-/, which is usually the same as Mod-?, - // shows a list of important hotkeys. - Mod+Shift+Slash { show-hotkey-overlay; } - - // Suggested binds for running programs: terminal, app launcher, screen locker. Mod+Return { spawn "alacritty"; } - Mod+D { spawn "rofi" "-show" "drun" "-sidebar-mode" "-modi" "drun,run,filebrowser,ssh,combi"; } - Mod+X { spawn "lock-color"; } - Mod+Shift+X { spawn "lock-color" "screenon"; } + + // Noctalia + Mod+S { toggle-overview; } + XF86VoiceCommand { toggle-overview; } // For my remote + + // Keyboard pointer control + Mod+V { spawn "wl-kbptr" "-o" "modes=floating,click" "-o" "mode_floating.source=detect"; } + Mod+Shift+V { spawn "wl-kbptr" "-o" "modes=tile,bisect"; } // Example volume keys mappings for PipeWire & WirePlumber. // The allow-when-locked=true property makes them work even when the session is locked. @@ -415,6 +408,10 @@ binds { XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; } + XF86AudioPrev allow-when-locked=true { spawn "lmc" "prev"; } + XF86AudioPlay allow-when-locked=true { spawn "lmc" "toggle"; } + XF86AudioNext allow-when-locked=true { spawn "lmc" "next"; } + Mod+Shift+F5 allow-when-locked=true { spawn "lmc" "back" "5"; } Mod+F5 allow-when-locked=true { spawn "lmc" "prev"; } Mod+F6 allow-when-locked=true { spawn "lmc" "toggle"; } @@ -516,22 +513,22 @@ binds { // To avoid scrolling through workspaces really fast, you can use // the cooldown-ms property. The bind will be rate-limited to this value. // You can set a cooldown on any bind, but it's most useful for the wheel. - Mod+WheelScrollDown cooldown-ms=200 { focus-workspace-down; } - Mod+WheelScrollUp cooldown-ms=200 { focus-workspace-up; } - Mod+Ctrl+WheelScrollDown cooldown-ms=200 { move-column-to-workspace-down; } - Mod+Ctrl+WheelScrollUp cooldown-ms=200 { move-column-to-workspace-up; } + Mod+WheelScrollDown { focus-workspace-down; } + Mod+WheelScrollUp { focus-workspace-up; } + Mod+Ctrl+WheelScrollDown { move-column-to-workspace-down; } + Mod+Ctrl+WheelScrollUp { move-column-to-workspace-up; } - Mod+WheelScrollRight cooldown-ms=200 { focus-column-right; } - Mod+WheelScrollLeft cooldown-ms=200 { focus-column-left; } - Mod+Ctrl+WheelScrollRight cooldown-ms=200 { move-column-right; } - Mod+Ctrl+WheelScrollLeft cooldown-ms=200 { move-column-left; } + Mod+WheelScrollRight { focus-column-right; } + Mod+WheelScrollLeft { focus-column-left; } + Mod+Ctrl+WheelScrollRight { move-column-right; } + Mod+Ctrl+WheelScrollLeft { move-column-left; } // Usually scrolling up and down with Shift in applications results in // horizontal scrolling; these binds replicate that. - Mod+Shift+WheelScrollDown cooldown-ms=200 { focus-column-right; } - Mod+Shift+WheelScrollUp cooldown-ms=200 { focus-column-left; } - Mod+Ctrl+Shift+WheelScrollDown cooldown-ms=200 { move-column-right; } - Mod+Ctrl+Shift+WheelScrollUp cooldown-ms=200 { 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; } // Similarly, you can bind touchpad scroll "ticks". // Touchpad scrolling is continuous, so for these binds it is split into @@ -598,8 +595,9 @@ binds { Mod+R { switch-preset-column-width; } Mod+Shift+R { switch-preset-window-height; } Mod+Ctrl+R { reset-window-height; } - Mod+F { maximize-column; } + Mod+F { maximize-window-to-edges; } Mod+Shift+F { fullscreen-window; } + Mod+Ctrl+F { maximize-column; } Mod+C { center-column; } // Finer width adjustments. @@ -610,12 +608,12 @@ binds { // * adjust width as a percentage of screen width: "-10%" or "+10%" // Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0, // set-column-width "100" will make the column occupy 200 physical screen pixels. - Mod+Minus { set-column-width "-10%"; } - Mod+Equal { set-column-width "+10%"; } + Mod+Minus { set-column-width "-5%"; } + Mod+Equal { set-column-width "+5%"; } // Finer height adjustments when in column with other windows. - Mod+Shift+Minus { set-window-height "-10%"; } - Mod+Shift+Equal { set-window-height "+10%"; } + Mod+Shift+Minus { set-window-height "-5%"; } + Mod+Shift+Equal { set-window-height "+5%"; } // Switch between floating and tiling. Mod+Shift+Space { toggle-window-floating; } @@ -626,34 +624,16 @@ binds { // rather than stacked on top of each other. Mod+W { toggle-column-tabbed-display; } - // Actions to switch layouts. - // Note: if you uncomment these, make sure you do NOT have - // a matching layout switch hotkey configured in xkb options above. - // Having both at once on the same hotkey will break the switching, - // since it will switch twice upon pressing the hotkey (once by xkb, once by niri). - // Mod+Space { switch-layout "next"; } - // Mod+Shift+Space { switch-layout "prev"; } - Print { screenshot; } Ctrl+Print { screenshot-screen; } Alt+Print { screenshot-window; } - Mod+Print { spawn "swayrecord"; } - - // The quit action will show a confirmation dialog to avoid accidental exits. - Mod+Shift+E { spawn "rofi" "-show" "session" "-matching" "prefix" "-modi" "session:rofisession"; } // Powers off the monitors. To turn them back on, do any input like // moving the mouse or pressing any other key. Mod+Shift+P { power-off-monitors; } - // Mako commands - Mod+Ctrl+Space { spawn "makoctl" "dismiss"; } - Mod+Ctrl+Shift+Space { spawn "makoctl" "restore"; } - // Menus/Quick actions Mod+F1 { spawn "menuman"; } - Mod+F2 { spawn "menumako"; } - Mod+F3 { spawn "rofi" "-show" "display" "-modi" "display:rofidisplay"; } Mod+F4 { spawn "menublk"; } Mod+F10 { spawn "chcolors"; } Mod+F12 { spawn "rofi" "-show" "tz" "-modi" "tz:rofitz"; } @@ -666,6 +646,7 @@ binds { Mod+M { spawn "sh" "-c" "$TERM -e ncmpcpp"; } Mod+A { spawn "sh" "-c" "$TERM -T 'neomutt' -e neomutt"; } Mod+N { spawn "sh" "-c" "$TERM -T 'newsboat' -e newsboat && killall -42 waybar"; } + Mod+B { spawn "sh" "-c" "$TERM -T 'calcurse' -e calcurse"; } Mod+T { spawn "toggletorrent"; } Mod+Ctrl+T { spawn "launch-transmission"; } @@ -676,6 +657,11 @@ binds { Mod+Ctrl+Shift+apostrophe { spawn "menupass" "-s"; } } -switch-events { - lid-close { spawn "swaysession" "suspend"; } -} +include "local.kdl" +// include "noctalia.kdl" +// include "noctalia-binds.kdl" +include "dms/binds.kdl" +include "dms/colors.kdl" +include "dms/layout.kdl" +include "dms/cursor.kdl" +include "dms/wpblur.kdl" diff --git a/dotfiles/.config/niri/dms/alttab.kdl b/dotfiles/.config/niri/dms/alttab.kdl new file mode 100644 index 0000000..89f82bf --- /dev/null +++ b/dotfiles/.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 1 + } + } diff --git a/dotfiles/.config/niri/dms/binds.kdl b/dotfiles/.config/niri/dms/binds.kdl new file mode 100644 index 0000000..c324b2e --- /dev/null +++ b/dotfiles/.config/niri/dms/binds.kdl @@ -0,0 +1,88 @@ +binds { + // === Application Launchers === + Mod+D hotkey-overlay-title="Application Launcher" { + spawn "dms" "ipc" "call" "spotlight" "toggle"; + } + Mod+Shift+D { + spawn-sh "dms ipc call widget openWith launcherButton files"; + } + // Mod+V hotkey-overlay-title="Clipboard Manager" { + // spawn "dms" "ipc" "call" "clipboard" "toggle"; + // } + + Mod+Shift+E hotkey-overlay-title="Power Menu: Toggle" { spawn "dms" "ipc" "call" "powermenu" "toggle"; } + + Ctrl+Shift+Escape hotkey-overlay-title="Task Manager" { + spawn "dms" "ipc" "call" "processlist" "focusOrToggle"; + } + Mod+Backslash { spawn-sh "dms ipc call dash open overview"; } + Mod+Shift+Backslash { spawn-sh "dms ipc call dash open weather"; } + Mod+Ctrl+Backslash { spawn-sh "dms ipc call dash open media"; } + Mod+F2 { spawn-sh "dms ipc call control-center toggle"; } + Mod+F3 hotkey-overlay-title="Settings" { + spawn "dms" "ipc" "call" "settings" "focusOrToggle"; + } + + Mod+Ctrl+Space { spawn "dms" "ipc" "call" "notifications" "dismissAllPopups"; } + Mod+Shift+Ctrl+Space hotkey-overlay-title="Notification Center" { + spawn "dms" "ipc" "call" "notifications" "toggle"; + } + + // === Security === + Mod+X hotkey-overlay-title="Lock Screen" { + spawn "dms" "ipc" "call" "lock" "lock"; + } + + // === Audio Controls === + // XF86AudioRaiseVolume allow-when-locked=true { + // spawn "dms" "ipc" "call" "audio" "increment" "3"; + // } + // XF86AudioLowerVolume allow-when-locked=true { + // spawn "dms" "ipc" "call" "audio" "decrement" "3"; + // } + // XF86AudioMute allow-when-locked=true { + // spawn "dms" "ipc" "call" "audio" "mute"; + // } + // XF86AudioMicMute allow-when-locked=true { + // spawn "dms" "ipc" "call" "audio" "micmute"; + // } + // XF86AudioPause allow-when-locked=true { + // spawn "dms" "ipc" "call" "mpris" "playPause"; + // } + // XF86AudioPlay allow-when-locked=true { + // spawn "dms" "ipc" "call" "mpris" "playPause"; + // } + // XF86AudioPrev allow-when-locked=true { + // spawn "dms" "ipc" "call" "mpris" "previous"; + // } + // XF86AudioNext allow-when-locked=true { + // spawn "dms" "ipc" "call" "mpris" "next"; + // } + // Ctrl+XF86AudioRaiseVolume allow-when-locked=true { + // spawn "dms" "ipc" "call" "mpris" "increment" "3"; + // } + // Ctrl+XF86AudioLowerVolume allow-when-locked=true { + // spawn "dms" "ipc" "call" "mpris" "decrement" "3"; + // } + + // === Brightness Controls === + XF86MonBrightnessUp allow-when-locked=true { + spawn "dms" "ipc" "call" "brightness" "increment" "5" ""; + } + XF86MonBrightnessDown allow-when-locked=true { + spawn "dms" "ipc" "call" "brightness" "decrement" "5" ""; + } + Mod+Alt+Up allow-when-locked=true { + spawn "dms" "ipc" "call" "brightness" "increment" "5" ""; + } + Mod+Alt+Down allow-when-locked=true { + spawn "dms" "ipc" "call" "brightness" "decrement" "5" ""; + } + + // === System Controls === + Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } +} + +switch-events { + lid-close { spawn "loginctl" "suspend"; } +} diff --git a/dotfiles/.config/niri/dms/colors.kdl b/dotfiles/.config/niri/dms/colors.kdl new file mode 100644 index 0000000..37504be --- /dev/null +++ b/dotfiles/.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 "#52d7f0" + inactive-color "#919191" + urgent-color "#ffb4ab" + } + + border { + active-color "#52d7f0" + inactive-color "#919191" + urgent-color "#ffb4ab" + } + + shadow { + color "#00000070" + } + + tab-indicator { + active-color "#52d7f0" + inactive-color "#919191" + urgent-color "#ffb4ab" + } + + insert-hint { + color "#52d7f080" + } +} + +recent-windows { + highlight { + active-color "#004e5a" + urgent-color "#ffb4ab" + } +} diff --git a/dotfiles/.config/niri/dms/cursor.kdl b/dotfiles/.config/niri/dms/cursor.kdl new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/dotfiles/.config/niri/dms/cursor.kdl diff --git a/dotfiles/.config/niri/dms/layout.kdl b/dotfiles/.config/niri/dms/layout.kdl new file mode 100644 index 0000000..224f927 --- /dev/null +++ b/dotfiles/.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 6 + + border { + width 3 + } + + focus-ring { + width 3 + } + } + window-rule { + geometry-corner-radius 1 + clip-to-geometry true + tiled-state true + draw-border-with-background false + } diff --git a/dotfiles/.config/niri/dms/outputs.kdl b/dotfiles/.config/niri/dms/outputs.kdl new file mode 100644 index 0000000..f56685f --- /dev/null +++ b/dotfiles/.config/niri/dms/outputs.kdl @@ -0,0 +1,14 @@ +// Auto-generated by DMS - do not edit manually + +output "HDMI-A-1" { + mode "1920x1080@74.973" + scale 1 + position x=0 y=360 +} + +output "DP-1" { + mode "2560x1440@165.000" + scale 1 + position x=1920 y=0 +} + diff --git a/dotfiles/.config/niri/dms/windowrules.kdl b/dotfiles/.config/niri/dms/windowrules.kdl new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/dotfiles/.config/niri/dms/windowrules.kdl diff --git a/dotfiles/.config/niri/dms/wpblur.kdl b/dotfiles/.config/niri/dms/wpblur.kdl new file mode 100644 index 0000000..3d58802 --- /dev/null +++ b/dotfiles/.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/dotfiles/.config/niri/noctalia-binds.kdl b/dotfiles/.config/niri/noctalia-binds.kdl new file mode 100644 index 0000000..ca104cc --- /dev/null +++ b/dotfiles/.config/niri/noctalia-binds.kdl @@ -0,0 +1,24 @@ +binds { + Mod+D { spawn-sh "qs -c noctalia-shell ipc call launcher toggle"; } + // this isn't dry but whatever + Menu { spawn-sh "qs -c noctalia-shell ipc call launcher toggle"; } + + Mod+Ctrl+Shift+Space { spawn-sh "qs -c noctalia-shell ipc call notifications toggleHistory"; } + Mod+Ctrl+Space { spawn-sh "qs -c noctalia-shell ipc call notifications invokeDefaultAndDismiss"; } + + Mod+Shift+E { spawn-sh "qs -c noctalia-shell ipc call sessionMenu toggle"; } + Mod+X { spawn-sh "qs -c noctalia-shell ipc call lockScreen lock"; } + + Mod+F3 { spawn-sh "qs -c noctalia-shell ipc call settings open"; } + Mod+Backslash { spawn-sh "qs -c noctalia-shell ipc call controlCenter toggle"; } + Mod+Shift+Backslash { spawn-sh "qs -c noctalia-shell ipc call calendar toggle"; } +} + +switch-events { + lid-close { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "sessionMenu" "lockAndSuspend"; } +} + +layer-rule { + match namespace="^noctalia-overview*" + place-within-backdrop true +} diff --git a/dotfiles/.config/niri/noctalia.kdl b/dotfiles/.config/niri/noctalia.kdl new file mode 100644 index 0000000..872e93c --- /dev/null +++ b/dotfiles/.config/niri/noctalia.kdl @@ -0,0 +1,35 @@ +layout { + + focus-ring { + active-color "#ffc799" + inactive-color "#0c0c0c" + urgent-color "#ff8080" + } + + border { + active-color "#ffc799" + inactive-color "#0c0c0c" + urgent-color "#ff8080" + } + + shadow { + color "#00000070" + } + + tab-indicator { + active-color "#ffc799" + inactive-color "#e66800" + urgent-color "#ff8080" + } + + insert-hint { + color "#ffc79980" + } +} + +recent-windows { + highlight { + active-color "#ffc799" + urgent-color "#ff8080" + } +} |
