// 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; } }