Files
niri-beyond-glass/config/niri/config.kdl
T

222 lines
6.6 KiB
KDL

// Niri Beyond Glass
// Portable profile for Ubuntu 24.04 and Niri 26.04.
input {
keyboard {
numlock
}
touchpad {
tap
natural-scroll
dwt
}
mouse {
accel-profile "flat"
}
}
environment {
"XDG_CURRENT_DESKTOP" "niri"
"XDG_SESSION_DESKTOP" "niri"
"QT_QPA_PLATFORM" "wayland;xcb"
"NIXOS_OZONE_WL" "1"
"_JAVA_AWT_WM_NONREPARENTING" "1"
}
spawn-at-startup "xwayland-satellite"
spawn-at-startup "sh" "-lc" "$HOME/.local/bin/niri-beyond-wallpaper"
spawn-at-startup "/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1"
spawn-at-startup "swayidle" "-w" "timeout" "600" "swaylock -f" "timeout" "660" "niri msg action power-off-monitors" "resume" "niri msg action power-on-monitors" "before-sleep" "swaylock -f"
hotkey-overlay {
skip-at-startup
}
prefer-no-csd
screenshot-path "~/Pictures/Screenshots/niri-%Y-%m-%d-%H-%M-%S.png"
cursor {
xcursor-theme "Yaru"
xcursor-size 24
}
layer-rule {
match namespace="swaybg"
place-within-backdrop true
}
layer-rule {
match namespace="waybar"
geometry-corner-radius 10
background-effect {
blur true
xray true
noise 0.018
saturation 0.94
}
}
animations {
slowdown 0.85
}
layout {
gaps 8
center-focused-column "never"
background-color "#15171a"
preset-column-widths {
proportion 0.33333
proportion 0.5
proportion 0.66667
}
default-column-width {
proportion 0.5
}
focus-ring {
width 2
active-color "#d4c5a5"
inactive-color "#4d5056"
urgent-color "#dc7a78"
}
border {
off
}
shadow {
on
softness 30
spread -5
offset x=0 y=8
color "#00000070"
}
tab-indicator {
active-color "#d4c5a5"
inactive-color "#4d5056"
urgent-color "#dc7a78"
}
insert-hint {
color "#d4c5a580"
}
}
window-rule {
match app-id=".*"
geometry-corner-radius 12
clip-to-geometry true
tiled-state true
draw-border-with-background false
}
window-rule {
match app-id=r#"(?i)^alacritty$"#
opacity 0.88
default-column-width {
proportion 0.5
}
background-effect {
blur true
xray true
noise 0.025
saturation 0.95
}
}
window-rule {
match app-id=r#"(?i)^(firefox|org\.mozilla\.firefox|google-chrome|chromium|brave-browser|zen-browser)$"#
opacity 1.0
default-column-width {
proportion 0.62
}
}
window-rule {
match app-id=r#"(?i)^(mpv|vlc|io\.github\.celluloid_player\.Celluloid|org\.gnome\.Totem|steam)$"#
opacity 1.0
default-column-width {
proportion 0.70
}
}
window-rule {
match app-id=r#"^org\.gnome\.(Calculator|Settings|Loupe)$"#
open-floating true
default-column-width {
proportion 0.36
}
}
binds {
Mod+Return hotkey-overlay-title="打开终端" { spawn "alacritty"; }
Mod+D hotkey-overlay-title="应用启动器" { spawn "fuzzel"; }
Mod+B hotkey-overlay-title="打开默认浏览器" { spawn "sh" "-lc" "xdg-open https://www.google.com"; }
Mod+E hotkey-overlay-title="文件管理器" { spawn "nautilus"; }
Mod+L hotkey-overlay-title="锁定屏幕" { spawn "swaylock" "-f"; }
Mod+Shift+Slash hotkey-overlay-title="显示快捷键说明" { show-hotkey-overlay; }
Mod+Q hotkey-overlay-title="关闭窗口" { close-window; }
Mod+O repeat=false hotkey-overlay-title="总览" { toggle-overview; }
Mod+F hotkey-overlay-title="最大化当前列" { maximize-column; }
Mod+Shift+F hotkey-overlay-title="窗口全屏" { fullscreen-window; }
Mod+V hotkey-overlay-title="切换浮动窗口" { toggle-window-floating; }
Mod+W hotkey-overlay-title="切换标签页模式" { toggle-column-tabbed-display; }
Mod+Left hotkey-overlay-title="焦点向左" { focus-column-left; }
Mod+Down hotkey-overlay-title="焦点向下" { focus-window-down; }
Mod+Up hotkey-overlay-title="焦点向上" { focus-window-up; }
Mod+Right hotkey-overlay-title="焦点向右" { focus-column-right; }
Mod+H { focus-column-left; }
Mod+J { focus-window-down; }
Mod+K { focus-window-up; }
Mod+Semicolon { focus-column-right; }
Mod+Shift+Left hotkey-overlay-title="窗口向左移动" { move-column-left; }
Mod+Shift+Down hotkey-overlay-title="窗口向下移动" { move-window-down; }
Mod+Shift+Up hotkey-overlay-title="窗口向上移动" { move-window-up; }
Mod+Shift+Right hotkey-overlay-title="窗口向右移动" { move-column-right; }
Mod+Page_Down hotkey-overlay-title="下一个工作区" { focus-workspace-down; }
Mod+Page_Up hotkey-overlay-title="上一个工作区" { focus-workspace-up; }
Mod+Shift+Page_Down hotkey-overlay-title="窗口移到下一个工作区" { move-column-to-workspace-down; }
Mod+Shift+Page_Up hotkey-overlay-title="窗口移到上一个工作区" { move-column-to-workspace-up; }
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+Shift+1 { move-column-to-workspace 1; }
Mod+Shift+2 { move-column-to-workspace 2; }
Mod+Shift+3 { move-column-to-workspace 3; }
Mod+Shift+4 { move-column-to-workspace 4; }
Mod+Shift+5 { move-column-to-workspace 5; }
Mod+R hotkey-overlay-title="切换列宽" { switch-preset-column-width; }
Mod+Shift+R hotkey-overlay-title="切换窗口高度" { switch-preset-window-height; }
Mod+Minus { set-column-width "-10%"; }
Mod+Equal { set-column-width "+10%"; }
Print hotkey-overlay-title="截图" { screenshot; }
Ctrl+Print hotkey-overlay-title="截取屏幕" { screenshot-screen; }
Alt+Print hotkey-overlay-title="截取窗口" { screenshot-window; }
XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05+"; }
XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05-"; }
XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
XF86AudioPlay allow-when-locked=true { spawn "playerctl" "play-pause"; }
XF86AudioNext allow-when-locked=true { spawn "playerctl" "next"; }
XF86AudioPrev allow-when-locked=true { spawn "playerctl" "previous"; }
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "set" "+5%"; }
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "set" "5%-"; }
Mod+Shift+E hotkey-overlay-title="退出 Niri" { quit; }
Mod+Shift+P hotkey-overlay-title="关闭显示器" { power-off-monitors; }
}