diff options
| -rw-r--r-- | .config/niri/config.kdl | 301 | ||||
| -rw-r--r-- | .config/niri/dms/alttab.kdl | 10 | ||||
| -rw-r--r-- | .config/niri/dms/binds.kdl | 0 | ||||
| -rw-r--r-- | .config/niri/dms/colors.kdl | 39 | ||||
| -rw-r--r-- | .config/niri/dms/cursor.kdl | 0 | ||||
| -rw-r--r-- | .config/niri/dms/layout.kdl | 22 | ||||
| -rw-r--r-- | .config/niri/dms/outputs.kdl | 13 | ||||
| -rw-r--r-- | .config/niri/dms/windowrules.kdl | 0 | ||||
| -rw-r--r-- | .config/niri/dms/wpblur.kdl | 9 |
9 files changed, 394 insertions, 0 deletions
diff --git a/.config/niri/config.kdl b/.config/niri/config.kdl new file mode 100644 index 0000000..a8f3d7b --- /dev/null +++ b/.config/niri/config.kdl @@ -0,0 +1,301 @@ +include "dms/alttab.kdl" +include "dms/binds.kdl" +include "dms/cursor.kdl" +include "dms/layout.kdl" +include "dms/outputs.kdl" +include "dms/windowrules.kdl" +include "dms/wpblur.kdl" + +// https://yalter.github.io/niri/Configuration:-Input +input { + keyboard { + xkb { + layout "mango,mango,us" + variant "basic,swedish,basic" + options "lv3:switch,compose:ralt" + } + + repeat-delay 360 + repeat-rate 35 + numlock + } + + touchpad { + tap + dwt + drag true + natural-scroll + accel-speed 0.2 + accel-profile "adaptive" + scroll-method "two-finger" + } + + mouse { + natural-scroll + accel-speed 0.2 + accel-profile "adaptive" + } + + focus-follows-mouse + workspace-auto-back-and-forth +} + +output "DP-2" { + focus-at-startup +} + +layout { + gaps 12 + background-color "#2B303B" + + always-center-single-column + center-focused-column "on-overflow" + + preset-column-widths { + proportion 0.33333 + proportion 0.5 + proportion 0.66667 + } + + default-column-width { + proportion 0.5 + } + + focus-ring { + off + } + + border { + width 2 + active-gradient from="#FAA14F" to="#B8F182" angle=150 relative-to="workspace-view" + inactive-color "#363C4A" + urgent-color "#841A11" + } + + shadow { + on + draw-behind-window true + + softness 30 + spread 25 + offset x=8 y=8 + color "#0007" + } + + default-column-display "tabbed" + tab-indicator { + hide-when-single-tab + width 4 + length total-proportion=0.9 + corner-radius 16 + active-gradient from="#FAA14F" to="#B8F182" angle=150 + inactive-color "#363C4A" + urgent-color "#841A11" + } +} + +hotkey-overlay { + skip-at-startup +} + +prefer-no-csd + +screenshot-path "~/media/gfx/screen/%Y-%m-%d_%H-%M-%S.png" + +// Animation settings. +// The wiki explains how to configure individual animations: +// https://yalter.github.io/niri/Configuration:-Animations +animations { + // Uncomment to turn off all animations. + // off + + // Slow down all animations by this factor. Values below 1 speed them up instead. + // slowdown 3.0 +} + +// Window rules let you adjust behavior for individual windows. +// Find more information on the wiki: +// https://yalter.github.io/niri/Configuration:-Window-Rules + +// Open the Firefox picture-in-picture player as floating by default. +window-rule { + // This app-id regular expression will work for both: + // - host Firefox (app-id is "firefox") + // - Flatpak Firefox (app-id is "org.mozilla.firefox") + match app-id=r#"firefox$"# title="^Picture-in-Picture$" + open-floating true +} + +// Example: block out two password managers from screen capture. +// (This example rule is commented out with a "/-" in front.) +/-window-rule { + match app-id=r#"^org\.keepassxc\.KeePassXC$"# + match app-id=r#"^org\.gnome\.World\.Secrets$"# + + block-out-from "screen-capture" + + // Use this instead if you want them visible on third-party screenshot tools. + // block-out-from "screencast" +} + +// Example: enable rounded corners for all windows. +// (This example rule is commented out with a "/-" in front.) +/-window-rule { + geometry-corner-radius 12 + clip-to-geometry true +} + +binds { + Mod+Shift+Slash { show-hotkey-overlay; } + XF86Tools { spawn "emacsclient" "-ca" "emacs" "/home/thomas/.config"; } + + /* Applikationer */ + // Mod+C hotkey-overlay-title="Calculator" { + // spawn "qalculate-gtk" + // } + // Mod+E hotkey-overlay-title="Editor" { + // spawn "emacsclient" "-ca" "emacs" + // } + // Mod+M hotkey-overlay-title="Email" { + // spawn "foot" "aerc" + // } + // Mod+W hotkey-overlay-title="Web Browser" { + // spawn "firefox" + // } + Mod+Return hotkey-overlay-title="Terminal" { + spawn "foot" + } + Mod+Space hotkey-overlay-title="App Launcher" { + spawn "fuzzel" "-I" "--log-level=warning" "--show-actions" + } + + /- Super+Alt+L hotkey-overlay-title="Screenlock" { + spawn "swaylock" + } + + /* Ljudkontroll */ + XF86AudioRaiseVolume allow-when-locked=true { + spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+" "-l" "1.0" + } + XF86AudioLowerVolume allow-when-locked=true { + spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-" + } + XF86AudioMute allow-when-locked=true { + spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle" + } + XF86AudioMicMute allow-when-locked=true { + spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle" + } + + /* Mediakontroll */ + XF86AudioPlay allow-when-locked=true { + spawn "playerctl" "play-pause" + } + XF86AudioStop allow-when-locked=true { + spawn "playerctl" "stop" + } + XF86AudioPrev allow-when-locked=true { + spawn "playerctl" "previous" + } + XF86AudioNext allow-when-locked=true { + spawn "playerctl" "next" + } + + XF86MonBrightnessUp allow-when-locked=true { + spawn "brightnessctl" "--class=backlight" "set" "+10%" + } + XF86MonBrightnessDown allow-when-locked=true { + spawn "brightnessctl" "--class=backlight" "set" "10%-" + } + + Mod+Q repeat=false { close-window; } + + Mod+Left { focus-column-left; } + Mod+Down { focus-window-down; } + Mod+Up { focus-window-up; } + Mod+Right { focus-column-right; } + Mod+F { focus-column-right; } + Mod+B { focus-column-left; } + Mod+N { focus-window-down-or-top; } + Mod+P { focus-window-up-or-bottom; } + + 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+F { move-column-right; } + Mod+Ctrl+B { move-column-left; } + Mod+Ctrl+N { move-window-down; } + Mod+Ctrl+P { move-window-up; } + + 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+A { focus-column-first; } + Mod+E { focus-column-last; } + Mod+Ctrl+A { move-column-to-first; } + Mod+Ctrl+E { move-column-to-last; } + + Mod+Shift+Left { focus-monitor-left; } + Mod+Shift+Down { focus-monitor-down; } + Mod+Shift+Up { focus-monitor-up; } + Mod+Shift+Right { focus-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 { focus-workspace 1; } + Mod+Shift+2 { focus-workspace 2; } + Mod+Shift+3 { focus-workspace 3; } + Mod+Shift+4 { focus-workspace 4; } + Mod+Shift+5 { focus-workspace 5; } + Mod+Shift+6 { focus-workspace 6; } + Mod+Shift+7 { focus-workspace 7; } + Mod+Shift+8 { focus-workspace 8; } + Mod+Shift+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; } + Mod+Ctrl+Shift+1 { move-column-to-workspace 1; } + Mod+Ctrl+Shift+2 { move-column-to-workspace 2; } + Mod+Ctrl+Shift+3 { move-column-to-workspace 3; } + Mod+Ctrl+Shift+4 { move-column-to-workspace 4; } + Mod+Ctrl+Shift+5 { move-column-to-workspace 5; } + Mod+Ctrl+Shift+6 { move-column-to-workspace 6; } + Mod+Ctrl+Shift+7 { move-column-to-workspace 7; } + Mod+Ctrl+Shift+8 { move-column-to-workspace 8; } + Mod+Ctrl+Shift+9 { move-column-to-workspace 9; } + + Mod+Comma { consume-window-into-column; } + Mod+Period { expel-window-from-column; } + + Mod+Ctrl+M { maximize-column; } + Mod+Ctrl+Shift+M { fullscreen-window; } + Mod+L { center-window; } + Mod+R { switch-preset-column-width; } + Mod+W { toggle-column-tabbed-display; } + Mod+O { toggle-overview; } + + Print { screenshot; } + Ctrl+Print { screenshot-screen; } + Alt+Print { screenshot-window; } + + Mod+Shift+Comma { focus-workspace-up; } + Mod+Shift+Period { focus-workspace-down; } + + Mod+Ctrl+G allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } +} diff --git a/.config/niri/dms/alttab.kdl b/.config/niri/dms/alttab.kdl new file mode 100644 index 0000000..091ea07 --- /dev/null +++ b/.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/.config/niri/dms/binds.kdl b/.config/niri/dms/binds.kdl new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/.config/niri/dms/binds.kdl diff --git a/.config/niri/dms/colors.kdl b/.config/niri/dms/colors.kdl new file mode 100644 index 0000000..7e6101c --- /dev/null +++ b/.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 "#42a5f5" + inactive-color "#8c9199" + urgent-color "#f2b8b5" + } + + border { + active-color "#42a5f5" + inactive-color "#8c9199" + urgent-color "#f2b8b5" + } + + shadow { + color "#00000070" + } + + tab-indicator { + active-color "#42a5f5" + inactive-color "#8c9199" + urgent-color "#f2b8b5" + } + + insert-hint { + color "#42a5f580" + } +} + +recent-windows { + highlight { + active-color "#0d47a1" + urgent-color "#f2b8b5" + } +} diff --git a/.config/niri/dms/cursor.kdl b/.config/niri/dms/cursor.kdl new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/.config/niri/dms/cursor.kdl diff --git a/.config/niri/dms/layout.kdl b/.config/niri/dms/layout.kdl new file mode 100644 index 0000000..431afbf --- /dev/null +++ b/.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/.config/niri/dms/outputs.kdl b/.config/niri/dms/outputs.kdl new file mode 100644 index 0000000..8a92851 --- /dev/null +++ b/.config/niri/dms/outputs.kdl @@ -0,0 +1,13 @@ +// Auto-generated by DMS - do not edit manually + +output "DP-2" { + mode "5120x1440@144.000" + scale 1 + position x=0 y=0 +} + +output "eDP-1" { + mode "2256x1504@60.000" + scale 1 + position x=1432 y=1440 +} diff --git a/.config/niri/dms/windowrules.kdl b/.config/niri/dms/windowrules.kdl new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/.config/niri/dms/windowrules.kdl diff --git a/.config/niri/dms/wpblur.kdl b/.config/niri/dms/wpblur.kdl new file mode 100644 index 0000000..3d58802 --- /dev/null +++ b/.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 +} |