| // V0.981231
|
|
|
| // Environment variables
|
| environment {
|
| XDG_SESSION_TYPE "wayland"
|
| XDG_SESSION_DESKTOP "niri"
|
| XDG_CURRENT_DESKTOP "niri"
|
| MOZ_ENABLE_WAYLAND "1"
|
| QT_QPA_PLATFORM "wayland"
|
| QT_WAYLAND_DISABLE_WINDOWDECORATION "1"
|
| QT_AUTO_SCREEN_SCALE_FACTOR "0"
|
| QT_FONT_DPI "96"
|
| SDL_VIDEODRIVER "wayland"
|
| CLUTTER_BACKEND "wayland"
|
| _JAVA_AWT_WM_NONPARENTING "1"
|
| QT_QPA_PLATFORMTHEME "qt6ct"
|
| GTK_USE_PORTAL "1"
|
| ELECTRON_OZONE_PLATFORM_HINT "wayland"
|
| }
|
|
|
| // Layer rules
|
| layer-rule {
|
| match namespace="^noctalia-overview*"
|
| place-within-backdrop true
|
| }
|
|
|
| // Input devices
|
| input {
|
| workspace-auto-back-and-forth
|
|
|
| keyboard {
|
| repeat-rate 25
|
| repeat-delay 280
|
|
|
| xkb {
|
| layout "fi,us"
|
| options "grp:caps_toggle,ctrl:nocaps"
|
| }
|
| }
|
|
|
| mouse {
|
| accel-profile "flat"
|
| scroll-factor 1.0
|
| }
|
|
|
| // Warp to the center of newly focused windows
|
| //warp-mouse-to-focus
|
|
|
| // Change default Mod keys
|
| mod-key "Alt"
|
| mod-key-nested "Super"
|
| }
|
|
|
| cursor {
|
| xcursor-theme "Adwaita"
|
| xcursor-size 24
|
| hide-when-typing
|
| hide-after-inactive-ms 6000
|
| }
|
|
|
| // Overview
|
| overview {
|
| zoom 0.25
|
| backdrop-color "#222222"
|
| }
|
|
|
| // Clipboard
|
| clipboard {
|
| disable-primary
|
| }
|
|
|
| // Do not show hotkeys
|
| hotkey-overlay {
|
| skip-at-startup
|
| }
|
|
|
| // Monitor
|
| output "DP-1" {
|
| mode "1920x1080@180.061"
|
| variable-refresh-rate
|
| }
|
|
|
|
|
| layout {
|
| gaps 16
|
| center-focused-column "never"
|
| //always-center-single-column
|
| //empty-workspace-above-first
|
| //default-column-display "tabbed"
|
| default-column-width { proportion 0.5; }
|
|
|
| preset-column-widths {
|
| proportion 0.33333
|
| proportion 0.5
|
| proportion 0.66667
|
| fixed 1920
|
| }
|
|
|
| preset-window-heights {
|
| proportion 0.33333
|
| proportion 0.5
|
| proportion 0.66667
|
| fixed 1080
|
| }
|
|
|
| focus-ring {
|
| //off
|
| width 4
|
| //active-color "#353759"
|
| //inactive-color "#141921"
|
| active-gradient from="#ed8796" to="#f5bde6" angle=45
|
| inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
|
| }
|
|
|
| border {
|
| off
|
| width 4
|
| active-color "#ffc87f"
|
| inactive-color "#505050"
|
| urgent-color "#9b0000"
|
| // active-gradient from="#e5989b" to="#ffb4a2" angle=45 relative-to="workspace-view" in="oklch longer hue"
|
| // inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
|
| }
|
|
|
| shadow {
|
| off
|
| draw-behind-window false
|
| softness 30
|
| spread 5
|
| offset x=0 y=5
|
| color "#0007"
|
| }
|
|
|
| }
|
|
|
|
|
| // Autostart
|
| spawn-at-startup "/usr/libexec/polkit-mate-authentication-agent-1"
|
| spawn-sh-at-startup "gentoo-pipewire-launcher restart &"
|
| spawn-sh-at-startup "qs -c noctalia-shell"
|
|
|
| // Disable title bars
|
| prefer-no-csd
|
|
|
| // Screenshots
|
| screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
|
|
| // Animations
|
| animations {
|
| slowdown 0.9
|
|
|
| workspace-switch {
|
| spring damping-ratio=1.0 stiffness=1000 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=1.0 stiffness=800 epsilon=0.0001
|
| }
|
|
|
| window-movement {
|
| spring damping-ratio=1.0 stiffness=800 epsilon=0.0001
|
| }
|
|
|
| window-resize {
|
| spring damping-ratio=1.0 stiffness=800 epsilon=0.0001
|
| }
|
|
|
| config-notification-open-close {
|
| spring damping-ratio=0.6 stiffness=1000 epsilon=0.001
|
| }
|
|
|
| exit-confirmation-open-close {
|
| spring damping-ratio=0.6 stiffness=500 epsilon=0.01
|
| }
|
|
|
| screenshot-ui-open {
|
| duration-ms 200
|
| curve "ease-out-quad"
|
| }
|
|
|
| overview-open-close {
|
| spring damping-ratio=1.0 stiffness=800 epsilon=0.0001
|
| }
|
|
|
| recent-windows-close {
|
| spring damping-ratio=1.0 stiffness=800 epsilon=0.001
|
| }
|
| }
|
|
|
| window-rule {
|
| match app-id="Alacritty|foot|kitty"
|
| draw-border-with-background false
|
| }
|
|
|
| window-rule {
|
| geometry-corner-radius 12
|
| clip-to-geometry true
|
| }
|
|
|
| window-rule {
|
| match app-id=r#"^mpv$"#
|
| match app-id=r#"^thunar$"#
|
| match app-id=r#"^steam$"#
|
| match app-id=r#"^net.lutris.Lutris$"#
|
| match app-id=r#"^thunar$"# title=r#"Rename"#
|
| match app-id=r#"^deadbeef$"#
|
| match app-id=r#"^gimp$"# title=r#"Preferences"#
|
| open-floating true
|
| }
|
|
|
| // Custom keybinds
|
| binds {
|
| Mod+Shift+s { show-hotkey-overlay; }
|
| Mod+Q hotkey-overlay-title="Open a Terminal: Alacritty" { spawn "alacritty"; }
|
| Mod+p hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; }
|
|
|
| XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; }
|
| XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
|
| XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
|
| XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
|
|
|
| Mod+O repeat=false { toggle-overview; }
|
| Mod+Shift+C 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+Ctrl+Left { move-column-left; }
|
| Mod+Ctrl+Down { move-window-down; }
|
| Mod+Ctrl+Up { move-window-up; }
|
| Mod+Ctrl+Right { 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+L { focus-workspace-down; }
|
| Mod+K { focus-workspace-up; }
|
| Mod+Shift+Down { move-column-to-workspace-down; }
|
| Mod+Shift+Up { move-column-to-workspace-up; }
|
|
|
| Mod+Ctrl+U { move-workspace-down; }
|
| Mod+Ctrl+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+Shift+1 { move-window-to-workspace 1; }
|
| Mod+Shift+2 { move-window-to-workspace 2; }
|
| Mod+Shift+3 { move-window-to-workspace 3; }
|
| Mod+Shift+4 { move-window-to-workspace 4; }
|
|
|
| Control+Tab { focus-workspace-previous; }
|
|
|
| Mod+Shift+Comma { consume-or-expel-window-left; }
|
| Mod+Shift+Period { consume-or-expel-window-right; }
|
|
|
| // Consume one window from the right to the bottom of the focused column.
|
| Mod+Comma { consume-window-into-column; }
|
| // Expel the bottom window from the focused column to the right.
|
| Mod+Period { expel-window-from-column; }
|
|
|
| Mod+R { switch-preset-column-width; }
|
| //Mod+R { switch-preset-column-width-back; }
|
| Mod+Shift+R { switch-preset-window-height; }
|
|
|
| Mod+Control+R { reset-window-height; }
|
|
|
| Mod+m { maximize-column; }
|
| Mod+C { center-column; }
|
| Mod+Ctrl+C { center-visible-columns; }
|
| Mod+Shift+F { fullscreen-window; }
|
|
|
| Mod+Ctrl+F { expand-column-to-available-width; }
|
|
|
| Mod+Shift+n { set-column-width "-5%"; }
|
| Mod+Shift+m { set-column-width "+5%"; }
|
|
|
| Mod+Control+n { set-window-height "-5%"; }
|
| Mod+Control+m { set-window-height "+5%"; }
|
|
|
| Mod+f { toggle-window-floating; }
|
| Mod+Shift+V { switch-focus-between-floating-and-tiling; }
|
|
|
| Mod+W { toggle-column-tabbed-display; }
|
|
|
| Print { screenshot; }
|
| Ctrl+Print { screenshot-screen; }
|
| Alt+Print { screenshot-window; }
|
|
|
| Mod+Shift+E { quit; }
|
| Ctrl+Alt+Delete { quit; }
|
|
|
| Mod+Shift+P { power-off-monitors; }
|
| }
|
|
|
| // Noctalia shell
|
| include "./noctalia.kdl"
|