niri纯水+1
- 内容介绍
- 文章标签
- 相关推荐
//
// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
// Source: config.kdl.origin
//
//spawn-at-startup "foot"
environment {
QT_IM_MODULE "fcitx"
XMODIFIERS "@im=fcitx"
SDL_IM_MODULE "fcitx"
GLFW_IM_MODULE "ibus"
INPUT_METHOD "fcitx"
ELECTRON_OZONE_PLATFORM_HINT "auto"
QT_QPA_PLATFORM "wayland"
QT_QPA_PLATFORMTHEME "kde"
XDG_MENU_PREFIX "plasma-"
ILLOGICAL_IMPULSE_VIRTUAL_ENV "~/.local/state/quickshell/.venv"
TERMINAL "kitty -1"
DISPLAY ":1"
}
spawn-at-startup "~/.config/niri/niri/scripts/start_geoclue_agent.sh"
spawn-at-startup "fcitx5"
spawn-at-startup "/usr/lib/pam_kwallet_init"
spawn-at-startup "/usr/lib/polkit-kde-authentication-agent-1"
spawn-at-startup "dbus-update-activation-environment --all"
spawn-at-startup "sh" "-c" "sleep 1 && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
spawn-at-startup "easyeffects --gapplication-service"
spawn-at-startup "wl-paste --type text --watch cliphist store"
spawn-at-startup "wl-paste --type image --watch cliphist store"
spawn-at-startup "wl-clip-persist --clipboard regular"
spawn-at-startup "sh" "-c" "export XCURSOR_THEME=Bibata-Modern-Classic && export XCURSOR_SIZE=24"
// Required for clipboard history integration
spawn-at-startup "bash" "-c" "wl-paste --watch cliphist store &"
// Recommended (must install polkit-mate before hand) for elevation prompts
spawn-at-startup "/usr/lib/mate-polkit/polkit-mate-authentication-agent-1"
// This may be a different path on different distributions, the above is for the arch linux mate-polkit package
spawn-at-startup "xwayland-satellite"
// Or, if you built it by hand:
// spawn-at-startup "~/path/to/code/target/release/xwayland-satellite"
// Starts DankShell
spawn-at-startup "qs" "-c" "dms"
//负责屏幕大小
output "eDP-1" {
position x=0 y=0
scale 1.25
}
output "DP-1" {
mode "1920x1080@60"
position x=1920 y=0
scale 1.0
}
output "DP-4" {
mode "1920x1080@60"
position x=0 y=0
scale 1.0
}
output "HDMI-A-1" {
mode "1920x1080@60"
scale 1.5
}
//输入管理
input {
keyboard {
xkb {
layout "us"
}
repeat-delay 250
repeat-rate 35
}
touchpad {
natural-scroll
click-method "clickfinger"
scroll-factor 0.5
}
mouse {
accel-speed 0.0
accel-profile "flat"
}
}
layout {
gaps 4.0
center-focused-column "never"
preset-column-widths {
proportion 0.33333
proportion 0.5
proportion 0.66667
}
default-column-width {
proportion 0.5
}
focus-ring {
width 1.0
active-color "#0DB7D4"
inactive-color "#31313600"
}
border {
width 1.0
active-color "#0DB7D4"
inactive-color "#31313600"
}
}
prefer-no-csd
//先全局,方便覆盖
window-rule {
// 将此规则应用于所有窗口 (因为没有 match 条件)
// 圆角
geometry-corner-radius 18.0
clip-to-geometry true
// 对,niri绘制s
draw-border-with-background false
// 新窗口默认不最大化
open-maximized false
// 新窗口默认平铺,而非浮动
//open-floating false
// 全局默认宽度设置为屏幕宽度的 80%
default-column-width { proportion 0.8; }
default-window-height {
proportion 1.0;
}
}
// 疯狂的悬浮匹配
window-rule {
match app-id="(kitty|wechat|QQ|sparkle|goland|rustover|clion|CLion|Open|blueberry|guifetch|pavucontrol|foot|Alacritty|fuzzel|pulseaudio|nm-connection-editor|plasma|kcm_|bluedevilwizard|Welcome|illogical-impulse|Zotero|freedesktop)"
open-floating true
}
// 宽度0.6
window-rule {
match app-id="^(systemsettings|systemsettings|QQ|wechat)$"
default-column-width {
proportion 0.6
}
}
//宽度0.5
window-rule {
match title="(goland|rustover|clion|CLion|Open|sparkle|kitty|blueberry|foot|Alacritty)"
default-column-width {
proportion 0.5;
}
}
// 宽度0.45
window-rule {
match app-id="(^nm-connection-editor$|pavucontrol|Zotero)"
default-column-width {
proportion 0.45
}
}
//高度0.5
window-rule {
match title="(goland|rustover|clion|CLion|Open|sparkle|QQ|kitty|foot|Alacritty)"
// Half of the screen high.
default-window-height {
proportion 0.5;
}
}
// 微软浏览器
window-rule {
match app-id="microsoft-edge" title=r#"^$"#
open-floating true
}
// vscode悬浮窗专享
window-rule {
match app-id="code" title="^Visual Studio Code$"
open-floating true
}
// QQ专享
window-rule {
match app-id="QQ" title="^QQ$"
default-column-width {
proportion 0.2;
}
}
window-rule {
match app-id="QQ"
exclude title="^QQ$"
default-column-width {
proportion 0.8;
}
}
window-rule {
match app-id="wechat"
exclude title="^微信$"
default-window-height {
proportion 0.6;
}
}
// telegram专享
window-rule {
match app-id="org.telegram.desktop" title="Media viewer"
open-floating true
default-window-height {
proportion 0.5;
}
// 80% of the screen wide.
default-column-width {
proportion 0.5;
}
}
window-rule {
match app-id="org.telegram.desktop"
exclude title="Telegram"
open-floating true
default-window-height {
proportion 0.75;
}
// 80% of the screen wide.
default-column-width {
proportion 0.75;
}
}
window-rule {
match title="^[Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture.*$"
open-floating true
default-column-width {
fixed 400
}
}
animations {
window-open {
duration-ms 300
curve "ease-out-cubic"
}
window-close {
duration-ms 200
curve "ease-out-cubic"
}
workspace-switch {
duration-ms 400
curve "ease-out-cubic"
}
}
hotkey-overlay {
//skip-at-startup
hide-not-bound //等待发布新版本
}
// 快捷键
binds {
// 应用启动与管理
"Mod+Space" hotkey-overlay-title="应用启动器" {
spawn "qs" "-c" "dms" "ipc" "call" "spotlight" "toggle"
}
"Mod+Semicolon" hotkey-overlay-title="应用菜单" {
spawn "fuzzel"
}
"Mod+V" hotkey-overlay-title="剪贴板历史" {
spawn "qs" "-c" "dms" "ipc" "call" "clipboard" "toggle"
}
"Mod+Period" hotkey-overlay-title="表情符号" {
spawn "~/.config/niri/niri/scripts/fuzzel-emoji.sh" "copy"
}
"Mod+Slash" hotkey-overlay-title="快捷键提示" {
show-hotkey-overlay
}
"Mod+K" hotkey-overlay-title="屏幕键盘" {
spawn "sh" "-c" "qs -c dms ipc call osk toggle"
}
"Mod+M" hotkey-overlay-title="进程列表" {
spawn "qs" "-c" "dms" "ipc" "call" "processlist" "toggle"
}
"Mod+Return" hotkey-overlay-title="鸭子" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "kitty yazi" "foot" "kitty -1" "wezterm" "konsole" "kgx" "uxterm" "xterm"
}
"Mod+T" hotkey-overlay-title="终端" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "$TERMINAL" "kitty -1" "foot" "alacritty" "wezterm" "konsole" "kgx" "uxterm" "xterm"
}
"Ctrl+Alt+T" hotkey-overlay-title="终端" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "$TERMINAL" "kitty -1" "foot" "alacritty" "wezterm" "konsole" "kgx" "uxterm" "xterm"
}
"Mod+E" hotkey-overlay-title="文件管理器" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "dolphin" "nautilus" "nemo" "thunar"
}
"Mod+W" hotkey-overlay-title="浏览器" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "microsoft-edge-stable" "google-chrome-stable" "zen-browser" "firefox" "brave" "chromium" "opera" "librewolf"
}
"Mod+C" hotkey-overlay-title="代码编辑器" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "code" "codium" "cursor" "zed" "kate" "gnome-text-editor" "emacs"
}
"Mod+Shift+F" hotkey-overlay-title="伪装全屏"{
toggle-windowed-fullscreen;
}
"Mod+Shift+W" hotkey-overlay-title="办公套件" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "wps" "onlyoffice-desktopeditors"
}
Mod+X hotkey-overlay-title="电源菜单" {
spawn "qs" "-c" "dms" "ipc" "call" "powermenu" "toggle";
}
"Ctrl+Shift+Escape" hotkey-overlay-title="系统监视器" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "gnome-system-monitor" "plasma-systemmonitor"
}
// 系统与会话控制
"Mod+Comma" hotkey-overlay-title="设置" {
spawn "qs" "-c" "dms" "ipc" "call" "settings" "toggle"
}
"Mod+Alt+L" hotkey-overlay-title="锁定屏幕" {
spawn "qs" "-c" "dms" "ipc" "call" "lock" "lock"
}
"Ctrl+Alt+Delete" hotkey-overlay-title="会话菜单" {
spawn "sh" "-c" "qs -c dms ipc call sessionToggle"
}
"Mod+J" hotkey-overlay-title="切换状态栏" {
spawn "sh" "-c" "qs -c dms ipc call barToggle"
}
"Ctrl+Mod+T" hotkey-overlay-title="切换壁纸" {
spawn "~/.config/quickshell/ii/scripts/colors/switchwall.sh"
}
"Ctrl+Mod+R" hotkey-overlay-title="重载Shell" {
spawn "sh" "-c" "killall ags agsv1 gjs ydotool qs quickshell; qs -c dms &"
}
"Mod+Ctrl+D" hotkey-overlay-title="显示设置" {
spawn "~/.config/niri/niri/scripts/display-config.sh"
}
"Mod+Ctrl+N" hotkey-overlay-title="网络连接" {
spawn "sh" "-c" "nm-connection-editor || plasma-nm"
}
"Mod+Ctrl+B" hotkey-overlay-title="蓝牙设置" {
spawn "sh" "-c" "blueberry || bluedevil-wizard"
}
"Mod+Ctrl+A" hotkey-overlay-title="音频控制" {
spawn "sh" "-c" "pavucontrol-qt || pavucontrol"
}
"Mod+Ctrl+S" hotkey-overlay-title="系统设置" {
spawn "sh" "-c" "XDG_CURRENT_DESKTOP=gnome systemsettings || gnome-control-center"
}
"Mod+Ctrl+Q" hotkey-overlay-title="快速设置" {
spawn "sh" "-c" "qs -c dms ipc call quickSettingsToggle"
}
"Mod+I" hotkey-overlay-title="系统设置" {
spawn "sh" "-c" "XDG_CURRENT_DESKTOP=gnome ~/.config/niri/niri/scripts/launch_first_available.sh 'systemsettings' 'gnome-control-center' 'better-control'"
}
"Mod+L" hotkey-overlay-title="锁定屏幕" {
spawn "loginctl" "lock-session"
}
"Mod+Shift+L" hotkey-overlay-title="休眠" {
spawn "sh" "-c" "sleep 0.1 && systemctl suspend"
}
"Ctrl+Shift+Alt+Mod+Delete" hotkey-overlay-title="关机" {
spawn "systemctl" "poweroff"
}
// 音频与媒体控制
"Mod+Shift+M" hotkey-overlay-title="切换静音" allow-when-locked=true {
spawn "wpctl" "set-mute" "@DEFAULT_SINK@" "toggle"
}
"Alt+XF86AudioMute" hotkey-overlay-title="切换麦克风静音" allow-when-locked=true {
spawn "wpctl" "set-mute" "@DEFAULT_SOURCE@" "toggle"
}
"XF86AudioMute" hotkey-overlay-title="静音" allow-when-locked=true {
spawn "qs" "-c" "dms" "ipc" "call" "audio" "mute"
}
"XF86AudioMicMute" hotkey-overlay-title="麦克风静音" allow-when-locked=true {
spawn "qs" "-c" "dms" "ipc" "call" "audio" "micmute"
}
"XF86AudioRaiseVolume" hotkey-overlay-title="增加音量" allow-when-locked=true {
spawn "qs" "-c" "dms" "ipc" "call" "audio" "increment" "3"
}
"XF86AudioLowerVolume" hotkey-overlay-title="降低音量" allow-when-locked=true {
spawn "qs" "-c" "dms" "ipc" "call" "audio" "decrement" "3"
}
"XF86AudioNext" hotkey-overlay-title="下一首" allow-when-locked=true {
spawn "playerctl" "next"
}
"XF86AudioPrev" hotkey-overlay-title="上一首" allow-when-locked=true {
spawn "playerctl" "previous"
}
"Mod+Shift+J" hotkey-overlay-title="下一首" allow-when-locked=true {
spawn "playerctl" "next"
}
"Mod+Shift+K" hotkey-overlay-title="上一首" allow-when-locked=true {
spawn "playerctl" "previous"
}
"Mod+Shift+P" hotkey-overlay-title="播放/暂停" allow-when-locked=true {
spawn "playerctl" "play-pause"
}
// Night mode toggle
Mod+Shift+N allow-when-locked=true {
spawn "qs" "-c" "dms" "ipc" "call" "night" "toggle";
}
"XF86AudioPlay" hotkey-overlay-title="播放/暂停" allow-when-locked=true {
spawn "playerctl" "play-pause"
}
"XF86AudioPause" hotkey-overlay-title="播放/暂停" allow-when-locked=true {
spawn "playerctl" "play-pause"
}
"Ctrl+Mod+V" hotkey-overlay-title="音量控制" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "pavucontrol-qt" "pavucontrol"
}
// 截图与录屏
"Mod+Shift+S" hotkey-overlay-title="区域截图" allow-when-locked=true {
spawn "sh" "-c" "grim -g \"$(slurp)\" - | wl-copy"
}
"Mod+Shift+T" hotkey-overlay-title="OCR截图" allow-when-locked=true {
spawn "sh" "-c" "grim -g \"$(slurp)\" tmp.png && tesseract tmp.png - | wl-copy && rm tmp.png"
}
"Mod+Shift+C" hotkey-overlay-title="颜色拾取" {
spawn "hyprpicker" "-a"
}
"Print" hotkey-overlay-title="全屏截图" allow-when-locked=true {
spawn "sh" "-c" "grim - | wl-copy"
}
"Ctrl+Print" hotkey-overlay-title="全屏截图到文件" {
spawn "sh" "-c" "mkdir -p $(xdg-user-dir PICTURES)/Screenshots && grim $(xdg-user-dir PICTURES)/Screenshots/Screenshot_\"$(date '+%Y-%m-%d_%H.%M.%S')\".png"
}
"Mod+Alt+R" hotkey-overlay-title="区域录屏" {
spawn "sh" "-c" "mkdir -p \"$(xdg-user-dir PICTURES)/Screenshots\" && grim -g \"$(slurp)\" - | tee \"$(xdg-user-dir PICTURES)/Screenshots/Screenshot_$(date +'%Y-%m-%d_%H:%M:%S').png\" | wl-copy"
}
"Ctrl+Alt+R" hotkey-overlay-title="全屏录屏" {
spawn "~/.config/niri/niri/scripts/record.sh" "--fullscreen"
}
"Mod+Shift+Alt+R" hotkey-overlay-title="全屏录屏(带声音)" {
spawn "~/.config/niri/niri/scripts/record.sh" "--fullscreen-sound"
}
// 窗口管理
"Mod+Shift+Up" hotkey-overlay-title="上移窗口" {
move-window-to-workspace-up
}
"Mod+Shift+Down" hotkey-overlay-title="下移窗口" {
move-window-to-workspace-down
}
"Mod+Shift+Left" hotkey-overlay-title="左移窗口" {
move-column-left
}
"Mod+Shift+Right" hotkey-overlay-title="右移窗口" {
move-column-right
}
"Alt+F4"{
close-window
}
"Mod+Q" hotkey-overlay-title="关闭窗口" {
close-window
}
"Mod+Minus" hotkey-overlay-title="横向缩小窗口" {
set-column-width "-10%"
}
"Mod+Equal" hotkey-overlay-title="横向放大窗口" {
set-column-width "+10%"
}
"Mod+Shift+Minus" hotkey-overlay-title="纵向缩小窗口" {
set-window-height "-10%"
}
"Mod+Shift+Equal" hotkey-overlay-title="纵向放大窗口" {
set-window-height "+10%"
}
"Mod+F" hotkey-overlay-title="全屏窗口" {
fullscreen-window
}
"Mod+A" hotkey-overlay-title="悬浮切换" {
toggle-window-floating;
}
Mod+P hotkey-overlay-title="Notepad" {
spawn "qs" "-c" "dms" "ipc" "call" "notepad" "toggle";
}
//焦点切换
"Mod+Page_Down"{
focus-workspace-down
}
"Mod+Page_Up"{
focus-workspace-up
}
"Super+WheelScrollUp" {
focus-column-left
}
"Super+WheelScrollDown" {
focus-column-right
}
"Mod+up" hotkey-overlay-title="切换到下方工作区"{
focus-workspace-up
}
"Mod+down" hotkey-overlay-title="切换到上方工作区"{
focus-workspace-down
}
"Mod+Left" hotkey-overlay-title="左移焦点" {
focus-column-left
}
"Mod+Right" hotkey-overlay-title="右移焦点" {
focus-column-right
}
// 硬件控制
"XF86MonBrightnessUp" hotkey-overlay-title="增加亮度" allow-when-locked=true {
spawn "qs" "-c" "dms" "ipc" "call" "brightness" "increment" "5" ""
}
"XF86MonBrightnessDown" hotkey-overlay-title="降低亮度" allow-when-locked=true {
spawn "qs" "-c" "dms" "ipc" "call" "brightness" "decrement" "5" ""
}
"Super+Shift+XF86TouchpadOff" hotkey-overlay-title="copliot"{
toggle-window-floating;
}
}
quickshell用的 GitHub - AvengeMedia/DankMaterialShell: Desktop shell for wayland compositors built with Quickshell & GO, optimized for niri & hyprland. Check out the niri community Discord below. 的方案
之前安装了GitHub - end-4/dots-hyprland: uhh questioning the meaning of dotfiles
缺少的script可以去 dots-hyprland/.config/niri at copilot/fix-620ad330-14be-4018-ab69-d585a7192339 · stevessr/dots-hyprland · GitHub 我传上去的这个部分找
差不多是这个风格
image1425×723 12.7 KB
一面一应用还是很水的
niri github readme放了个这个
GitHub - Vortriz/awesome-niri: An awesome list for niri related projects
An awesome list for niri related projects
p.s-1 又改了一下,现在win+上下<- ->方向键可以在单个显示器内切换焦点了,加shirft可以带着焦点所在窗口
2025年8月:上游换名称了,更新了一下配置
2025/09/11 发现官方加了点东西,跟着更新
--【壹】--:
linuxqq无法使用输入法
技术交流与探讨 应用程序与桌面环境我就是用的cosmic,flatpak下载的qq、微信、spotify,因为好像就qq跑在wayland下的,另外俩都是xwayland的,就qq没法使用输入法。 另外,在niri下面也是,只有hyrpand下qq的输入法正常。
不用qq
niri好像有问题
--【贰】--:
关于copliot键位
参考 binding the copilot key · YaLTeR/niri · Discussion #2001 · GitHub
"Super+Shift+XF86TouchpadOff" hotkey-overlay-title="copliot"{
spawn "lobehub"
}
可以用 键盘按键测试 - 在线键盘按键失灵检测工具 - 在线查询工具 键盘按键KeyCode码 键盘键码keyCode对照表 键盘按钮keyCode大全 iP138在线工具 查询键码
--【叁】--:
看样子换名称了,直接clone仓库就好
AUR package gone?
已打开 12:07PM - 25 Aug 25 UTC 已关闭 12:38PM - 25 Aug 25 UTC dragonnn bug## Description https://aur.archlinux.org/packages?O=0&K=dankmaterialshell no a…ur package can be found ## Expected Behavior finding AUR packages for DankMaterialShell
https://aur.archlinux.org/packages/dms-shell
--【肆】--:
qq不能中文输入法啥设置
--【伍】--:
对,是这样的
背景自己换啊~~
--【陆】--:
注销没反应 你的正常吗
--【柒】--:
很多快捷键要进niri自己配置
还有,这个直接安装到/etc/xdg/quickshell/dms 了……
对应的启动quickshell那一行换成spawn-at-startup "qs -c dms"
--【捌】--:
哦 后面快捷键也要换成dms 明白了
--【玖】--:
虽然但是,不用微信
微信右键同样有问题(试试窗口规则匹配悬浮呢?
输入法也有黑边
--【拾】--:
是的 找不到包
--【拾壹】--:
paru -S dankmaterialshell-git
--【拾贰】--:
图片1910×1080 137 KB
ui就这样吗
--【拾叁】--:
楼主的微信右键能用吗,还是说楼主不用微信。
折腾了半天搞不定微信的右键和输入法黑边问题(泪
--【拾肆】--:
关于niri的X桌面兼容性,参考这个进行
Xwayland
A scrollable-tiling Wayland compositor. Contribute to YaLTeR/niri development by creating an account on GitHub.
--【拾伍】--:
DankMaterialShell什么安装 aur找不到包
--【拾陆】--:
水的字数这么多?牛逼
--【拾柒】--:
看样子是微信不用wayland导致的
--【拾捌】--:
请问配置里面DankMaterialShell要改成新包名吗 我安装好后进niri感觉只完成一半 ui有了 但是有些快捷键无效,比如win+v都没反应 可以看下你的ui是什么样子的吗
--【拾玖】--:
哦哈,quickshell直接接受了消息通知,直接导致edge不弹窗了
//
// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
// Source: config.kdl.origin
//
//spawn-at-startup "foot"
environment {
QT_IM_MODULE "fcitx"
XMODIFIERS "@im=fcitx"
SDL_IM_MODULE "fcitx"
GLFW_IM_MODULE "ibus"
INPUT_METHOD "fcitx"
ELECTRON_OZONE_PLATFORM_HINT "auto"
QT_QPA_PLATFORM "wayland"
QT_QPA_PLATFORMTHEME "kde"
XDG_MENU_PREFIX "plasma-"
ILLOGICAL_IMPULSE_VIRTUAL_ENV "~/.local/state/quickshell/.venv"
TERMINAL "kitty -1"
DISPLAY ":1"
}
spawn-at-startup "~/.config/niri/niri/scripts/start_geoclue_agent.sh"
spawn-at-startup "fcitx5"
spawn-at-startup "/usr/lib/pam_kwallet_init"
spawn-at-startup "/usr/lib/polkit-kde-authentication-agent-1"
spawn-at-startup "dbus-update-activation-environment --all"
spawn-at-startup "sh" "-c" "sleep 1 && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
spawn-at-startup "easyeffects --gapplication-service"
spawn-at-startup "wl-paste --type text --watch cliphist store"
spawn-at-startup "wl-paste --type image --watch cliphist store"
spawn-at-startup "wl-clip-persist --clipboard regular"
spawn-at-startup "sh" "-c" "export XCURSOR_THEME=Bibata-Modern-Classic && export XCURSOR_SIZE=24"
// Required for clipboard history integration
spawn-at-startup "bash" "-c" "wl-paste --watch cliphist store &"
// Recommended (must install polkit-mate before hand) for elevation prompts
spawn-at-startup "/usr/lib/mate-polkit/polkit-mate-authentication-agent-1"
// This may be a different path on different distributions, the above is for the arch linux mate-polkit package
spawn-at-startup "xwayland-satellite"
// Or, if you built it by hand:
// spawn-at-startup "~/path/to/code/target/release/xwayland-satellite"
// Starts DankShell
spawn-at-startup "qs" "-c" "dms"
//负责屏幕大小
output "eDP-1" {
position x=0 y=0
scale 1.25
}
output "DP-1" {
mode "1920x1080@60"
position x=1920 y=0
scale 1.0
}
output "DP-4" {
mode "1920x1080@60"
position x=0 y=0
scale 1.0
}
output "HDMI-A-1" {
mode "1920x1080@60"
scale 1.5
}
//输入管理
input {
keyboard {
xkb {
layout "us"
}
repeat-delay 250
repeat-rate 35
}
touchpad {
natural-scroll
click-method "clickfinger"
scroll-factor 0.5
}
mouse {
accel-speed 0.0
accel-profile "flat"
}
}
layout {
gaps 4.0
center-focused-column "never"
preset-column-widths {
proportion 0.33333
proportion 0.5
proportion 0.66667
}
default-column-width {
proportion 0.5
}
focus-ring {
width 1.0
active-color "#0DB7D4"
inactive-color "#31313600"
}
border {
width 1.0
active-color "#0DB7D4"
inactive-color "#31313600"
}
}
prefer-no-csd
//先全局,方便覆盖
window-rule {
// 将此规则应用于所有窗口 (因为没有 match 条件)
// 圆角
geometry-corner-radius 18.0
clip-to-geometry true
// 对,niri绘制s
draw-border-with-background false
// 新窗口默认不最大化
open-maximized false
// 新窗口默认平铺,而非浮动
//open-floating false
// 全局默认宽度设置为屏幕宽度的 80%
default-column-width { proportion 0.8; }
default-window-height {
proportion 1.0;
}
}
// 疯狂的悬浮匹配
window-rule {
match app-id="(kitty|wechat|QQ|sparkle|goland|rustover|clion|CLion|Open|blueberry|guifetch|pavucontrol|foot|Alacritty|fuzzel|pulseaudio|nm-connection-editor|plasma|kcm_|bluedevilwizard|Welcome|illogical-impulse|Zotero|freedesktop)"
open-floating true
}
// 宽度0.6
window-rule {
match app-id="^(systemsettings|systemsettings|QQ|wechat)$"
default-column-width {
proportion 0.6
}
}
//宽度0.5
window-rule {
match title="(goland|rustover|clion|CLion|Open|sparkle|kitty|blueberry|foot|Alacritty)"
default-column-width {
proportion 0.5;
}
}
// 宽度0.45
window-rule {
match app-id="(^nm-connection-editor$|pavucontrol|Zotero)"
default-column-width {
proportion 0.45
}
}
//高度0.5
window-rule {
match title="(goland|rustover|clion|CLion|Open|sparkle|QQ|kitty|foot|Alacritty)"
// Half of the screen high.
default-window-height {
proportion 0.5;
}
}
// 微软浏览器
window-rule {
match app-id="microsoft-edge" title=r#"^$"#
open-floating true
}
// vscode悬浮窗专享
window-rule {
match app-id="code" title="^Visual Studio Code$"
open-floating true
}
// QQ专享
window-rule {
match app-id="QQ" title="^QQ$"
default-column-width {
proportion 0.2;
}
}
window-rule {
match app-id="QQ"
exclude title="^QQ$"
default-column-width {
proportion 0.8;
}
}
window-rule {
match app-id="wechat"
exclude title="^微信$"
default-window-height {
proportion 0.6;
}
}
// telegram专享
window-rule {
match app-id="org.telegram.desktop" title="Media viewer"
open-floating true
default-window-height {
proportion 0.5;
}
// 80% of the screen wide.
default-column-width {
proportion 0.5;
}
}
window-rule {
match app-id="org.telegram.desktop"
exclude title="Telegram"
open-floating true
default-window-height {
proportion 0.75;
}
// 80% of the screen wide.
default-column-width {
proportion 0.75;
}
}
window-rule {
match title="^[Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture.*$"
open-floating true
default-column-width {
fixed 400
}
}
animations {
window-open {
duration-ms 300
curve "ease-out-cubic"
}
window-close {
duration-ms 200
curve "ease-out-cubic"
}
workspace-switch {
duration-ms 400
curve "ease-out-cubic"
}
}
hotkey-overlay {
//skip-at-startup
hide-not-bound //等待发布新版本
}
// 快捷键
binds {
// 应用启动与管理
"Mod+Space" hotkey-overlay-title="应用启动器" {
spawn "qs" "-c" "dms" "ipc" "call" "spotlight" "toggle"
}
"Mod+Semicolon" hotkey-overlay-title="应用菜单" {
spawn "fuzzel"
}
"Mod+V" hotkey-overlay-title="剪贴板历史" {
spawn "qs" "-c" "dms" "ipc" "call" "clipboard" "toggle"
}
"Mod+Period" hotkey-overlay-title="表情符号" {
spawn "~/.config/niri/niri/scripts/fuzzel-emoji.sh" "copy"
}
"Mod+Slash" hotkey-overlay-title="快捷键提示" {
show-hotkey-overlay
}
"Mod+K" hotkey-overlay-title="屏幕键盘" {
spawn "sh" "-c" "qs -c dms ipc call osk toggle"
}
"Mod+M" hotkey-overlay-title="进程列表" {
spawn "qs" "-c" "dms" "ipc" "call" "processlist" "toggle"
}
"Mod+Return" hotkey-overlay-title="鸭子" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "kitty yazi" "foot" "kitty -1" "wezterm" "konsole" "kgx" "uxterm" "xterm"
}
"Mod+T" hotkey-overlay-title="终端" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "$TERMINAL" "kitty -1" "foot" "alacritty" "wezterm" "konsole" "kgx" "uxterm" "xterm"
}
"Ctrl+Alt+T" hotkey-overlay-title="终端" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "$TERMINAL" "kitty -1" "foot" "alacritty" "wezterm" "konsole" "kgx" "uxterm" "xterm"
}
"Mod+E" hotkey-overlay-title="文件管理器" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "dolphin" "nautilus" "nemo" "thunar"
}
"Mod+W" hotkey-overlay-title="浏览器" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "microsoft-edge-stable" "google-chrome-stable" "zen-browser" "firefox" "brave" "chromium" "opera" "librewolf"
}
"Mod+C" hotkey-overlay-title="代码编辑器" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "code" "codium" "cursor" "zed" "kate" "gnome-text-editor" "emacs"
}
"Mod+Shift+F" hotkey-overlay-title="伪装全屏"{
toggle-windowed-fullscreen;
}
"Mod+Shift+W" hotkey-overlay-title="办公套件" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "wps" "onlyoffice-desktopeditors"
}
Mod+X hotkey-overlay-title="电源菜单" {
spawn "qs" "-c" "dms" "ipc" "call" "powermenu" "toggle";
}
"Ctrl+Shift+Escape" hotkey-overlay-title="系统监视器" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "gnome-system-monitor" "plasma-systemmonitor"
}
// 系统与会话控制
"Mod+Comma" hotkey-overlay-title="设置" {
spawn "qs" "-c" "dms" "ipc" "call" "settings" "toggle"
}
"Mod+Alt+L" hotkey-overlay-title="锁定屏幕" {
spawn "qs" "-c" "dms" "ipc" "call" "lock" "lock"
}
"Ctrl+Alt+Delete" hotkey-overlay-title="会话菜单" {
spawn "sh" "-c" "qs -c dms ipc call sessionToggle"
}
"Mod+J" hotkey-overlay-title="切换状态栏" {
spawn "sh" "-c" "qs -c dms ipc call barToggle"
}
"Ctrl+Mod+T" hotkey-overlay-title="切换壁纸" {
spawn "~/.config/quickshell/ii/scripts/colors/switchwall.sh"
}
"Ctrl+Mod+R" hotkey-overlay-title="重载Shell" {
spawn "sh" "-c" "killall ags agsv1 gjs ydotool qs quickshell; qs -c dms &"
}
"Mod+Ctrl+D" hotkey-overlay-title="显示设置" {
spawn "~/.config/niri/niri/scripts/display-config.sh"
}
"Mod+Ctrl+N" hotkey-overlay-title="网络连接" {
spawn "sh" "-c" "nm-connection-editor || plasma-nm"
}
"Mod+Ctrl+B" hotkey-overlay-title="蓝牙设置" {
spawn "sh" "-c" "blueberry || bluedevil-wizard"
}
"Mod+Ctrl+A" hotkey-overlay-title="音频控制" {
spawn "sh" "-c" "pavucontrol-qt || pavucontrol"
}
"Mod+Ctrl+S" hotkey-overlay-title="系统设置" {
spawn "sh" "-c" "XDG_CURRENT_DESKTOP=gnome systemsettings || gnome-control-center"
}
"Mod+Ctrl+Q" hotkey-overlay-title="快速设置" {
spawn "sh" "-c" "qs -c dms ipc call quickSettingsToggle"
}
"Mod+I" hotkey-overlay-title="系统设置" {
spawn "sh" "-c" "XDG_CURRENT_DESKTOP=gnome ~/.config/niri/niri/scripts/launch_first_available.sh 'systemsettings' 'gnome-control-center' 'better-control'"
}
"Mod+L" hotkey-overlay-title="锁定屏幕" {
spawn "loginctl" "lock-session"
}
"Mod+Shift+L" hotkey-overlay-title="休眠" {
spawn "sh" "-c" "sleep 0.1 && systemctl suspend"
}
"Ctrl+Shift+Alt+Mod+Delete" hotkey-overlay-title="关机" {
spawn "systemctl" "poweroff"
}
// 音频与媒体控制
"Mod+Shift+M" hotkey-overlay-title="切换静音" allow-when-locked=true {
spawn "wpctl" "set-mute" "@DEFAULT_SINK@" "toggle"
}
"Alt+XF86AudioMute" hotkey-overlay-title="切换麦克风静音" allow-when-locked=true {
spawn "wpctl" "set-mute" "@DEFAULT_SOURCE@" "toggle"
}
"XF86AudioMute" hotkey-overlay-title="静音" allow-when-locked=true {
spawn "qs" "-c" "dms" "ipc" "call" "audio" "mute"
}
"XF86AudioMicMute" hotkey-overlay-title="麦克风静音" allow-when-locked=true {
spawn "qs" "-c" "dms" "ipc" "call" "audio" "micmute"
}
"XF86AudioRaiseVolume" hotkey-overlay-title="增加音量" allow-when-locked=true {
spawn "qs" "-c" "dms" "ipc" "call" "audio" "increment" "3"
}
"XF86AudioLowerVolume" hotkey-overlay-title="降低音量" allow-when-locked=true {
spawn "qs" "-c" "dms" "ipc" "call" "audio" "decrement" "3"
}
"XF86AudioNext" hotkey-overlay-title="下一首" allow-when-locked=true {
spawn "playerctl" "next"
}
"XF86AudioPrev" hotkey-overlay-title="上一首" allow-when-locked=true {
spawn "playerctl" "previous"
}
"Mod+Shift+J" hotkey-overlay-title="下一首" allow-when-locked=true {
spawn "playerctl" "next"
}
"Mod+Shift+K" hotkey-overlay-title="上一首" allow-when-locked=true {
spawn "playerctl" "previous"
}
"Mod+Shift+P" hotkey-overlay-title="播放/暂停" allow-when-locked=true {
spawn "playerctl" "play-pause"
}
// Night mode toggle
Mod+Shift+N allow-when-locked=true {
spawn "qs" "-c" "dms" "ipc" "call" "night" "toggle";
}
"XF86AudioPlay" hotkey-overlay-title="播放/暂停" allow-when-locked=true {
spawn "playerctl" "play-pause"
}
"XF86AudioPause" hotkey-overlay-title="播放/暂停" allow-when-locked=true {
spawn "playerctl" "play-pause"
}
"Ctrl+Mod+V" hotkey-overlay-title="音量控制" {
spawn "~/.config/niri/niri/scripts/launch_first_available.sh" "pavucontrol-qt" "pavucontrol"
}
// 截图与录屏
"Mod+Shift+S" hotkey-overlay-title="区域截图" allow-when-locked=true {
spawn "sh" "-c" "grim -g \"$(slurp)\" - | wl-copy"
}
"Mod+Shift+T" hotkey-overlay-title="OCR截图" allow-when-locked=true {
spawn "sh" "-c" "grim -g \"$(slurp)\" tmp.png && tesseract tmp.png - | wl-copy && rm tmp.png"
}
"Mod+Shift+C" hotkey-overlay-title="颜色拾取" {
spawn "hyprpicker" "-a"
}
"Print" hotkey-overlay-title="全屏截图" allow-when-locked=true {
spawn "sh" "-c" "grim - | wl-copy"
}
"Ctrl+Print" hotkey-overlay-title="全屏截图到文件" {
spawn "sh" "-c" "mkdir -p $(xdg-user-dir PICTURES)/Screenshots && grim $(xdg-user-dir PICTURES)/Screenshots/Screenshot_\"$(date '+%Y-%m-%d_%H.%M.%S')\".png"
}
"Mod+Alt+R" hotkey-overlay-title="区域录屏" {
spawn "sh" "-c" "mkdir -p \"$(xdg-user-dir PICTURES)/Screenshots\" && grim -g \"$(slurp)\" - | tee \"$(xdg-user-dir PICTURES)/Screenshots/Screenshot_$(date +'%Y-%m-%d_%H:%M:%S').png\" | wl-copy"
}
"Ctrl+Alt+R" hotkey-overlay-title="全屏录屏" {
spawn "~/.config/niri/niri/scripts/record.sh" "--fullscreen"
}
"Mod+Shift+Alt+R" hotkey-overlay-title="全屏录屏(带声音)" {
spawn "~/.config/niri/niri/scripts/record.sh" "--fullscreen-sound"
}
// 窗口管理
"Mod+Shift+Up" hotkey-overlay-title="上移窗口" {
move-window-to-workspace-up
}
"Mod+Shift+Down" hotkey-overlay-title="下移窗口" {
move-window-to-workspace-down
}
"Mod+Shift+Left" hotkey-overlay-title="左移窗口" {
move-column-left
}
"Mod+Shift+Right" hotkey-overlay-title="右移窗口" {
move-column-right
}
"Alt+F4"{
close-window
}
"Mod+Q" hotkey-overlay-title="关闭窗口" {
close-window
}
"Mod+Minus" hotkey-overlay-title="横向缩小窗口" {
set-column-width "-10%"
}
"Mod+Equal" hotkey-overlay-title="横向放大窗口" {
set-column-width "+10%"
}
"Mod+Shift+Minus" hotkey-overlay-title="纵向缩小窗口" {
set-window-height "-10%"
}
"Mod+Shift+Equal" hotkey-overlay-title="纵向放大窗口" {
set-window-height "+10%"
}
"Mod+F" hotkey-overlay-title="全屏窗口" {
fullscreen-window
}
"Mod+A" hotkey-overlay-title="悬浮切换" {
toggle-window-floating;
}
Mod+P hotkey-overlay-title="Notepad" {
spawn "qs" "-c" "dms" "ipc" "call" "notepad" "toggle";
}
//焦点切换
"Mod+Page_Down"{
focus-workspace-down
}
"Mod+Page_Up"{
focus-workspace-up
}
"Super+WheelScrollUp" {
focus-column-left
}
"Super+WheelScrollDown" {
focus-column-right
}
"Mod+up" hotkey-overlay-title="切换到下方工作区"{
focus-workspace-up
}
"Mod+down" hotkey-overlay-title="切换到上方工作区"{
focus-workspace-down
}
"Mod+Left" hotkey-overlay-title="左移焦点" {
focus-column-left
}
"Mod+Right" hotkey-overlay-title="右移焦点" {
focus-column-right
}
// 硬件控制
"XF86MonBrightnessUp" hotkey-overlay-title="增加亮度" allow-when-locked=true {
spawn "qs" "-c" "dms" "ipc" "call" "brightness" "increment" "5" ""
}
"XF86MonBrightnessDown" hotkey-overlay-title="降低亮度" allow-when-locked=true {
spawn "qs" "-c" "dms" "ipc" "call" "brightness" "decrement" "5" ""
}
"Super+Shift+XF86TouchpadOff" hotkey-overlay-title="copliot"{
toggle-window-floating;
}
}
quickshell用的 GitHub - AvengeMedia/DankMaterialShell: Desktop shell for wayland compositors built with Quickshell & GO, optimized for niri & hyprland. Check out the niri community Discord below. 的方案
之前安装了GitHub - end-4/dots-hyprland: uhh questioning the meaning of dotfiles
缺少的script可以去 dots-hyprland/.config/niri at copilot/fix-620ad330-14be-4018-ab69-d585a7192339 · stevessr/dots-hyprland · GitHub 我传上去的这个部分找
差不多是这个风格
image1425×723 12.7 KB
一面一应用还是很水的
niri github readme放了个这个
GitHub - Vortriz/awesome-niri: An awesome list for niri related projects
An awesome list for niri related projects
p.s-1 又改了一下,现在win+上下<- ->方向键可以在单个显示器内切换焦点了,加shirft可以带着焦点所在窗口
2025年8月:上游换名称了,更新了一下配置
2025/09/11 发现官方加了点东西,跟着更新
--【壹】--:
linuxqq无法使用输入法
技术交流与探讨 应用程序与桌面环境我就是用的cosmic,flatpak下载的qq、微信、spotify,因为好像就qq跑在wayland下的,另外俩都是xwayland的,就qq没法使用输入法。 另外,在niri下面也是,只有hyrpand下qq的输入法正常。
不用qq
niri好像有问题
--【贰】--:
关于copliot键位
参考 binding the copilot key · YaLTeR/niri · Discussion #2001 · GitHub
"Super+Shift+XF86TouchpadOff" hotkey-overlay-title="copliot"{
spawn "lobehub"
}
可以用 键盘按键测试 - 在线键盘按键失灵检测工具 - 在线查询工具 键盘按键KeyCode码 键盘键码keyCode对照表 键盘按钮keyCode大全 iP138在线工具 查询键码
--【叁】--:
看样子换名称了,直接clone仓库就好
AUR package gone?
已打开 12:07PM - 25 Aug 25 UTC 已关闭 12:38PM - 25 Aug 25 UTC dragonnn bug## Description https://aur.archlinux.org/packages?O=0&K=dankmaterialshell no a…ur package can be found ## Expected Behavior finding AUR packages for DankMaterialShell
https://aur.archlinux.org/packages/dms-shell
--【肆】--:
qq不能中文输入法啥设置
--【伍】--:
对,是这样的
背景自己换啊~~
--【陆】--:
注销没反应 你的正常吗
--【柒】--:
很多快捷键要进niri自己配置
还有,这个直接安装到/etc/xdg/quickshell/dms 了……
对应的启动quickshell那一行换成spawn-at-startup "qs -c dms"
--【捌】--:
哦 后面快捷键也要换成dms 明白了
--【玖】--:
虽然但是,不用微信
微信右键同样有问题(试试窗口规则匹配悬浮呢?
输入法也有黑边
--【拾】--:
是的 找不到包
--【拾壹】--:
paru -S dankmaterialshell-git
--【拾贰】--:
图片1910×1080 137 KB
ui就这样吗
--【拾叁】--:
楼主的微信右键能用吗,还是说楼主不用微信。
折腾了半天搞不定微信的右键和输入法黑边问题(泪
--【拾肆】--:
关于niri的X桌面兼容性,参考这个进行
Xwayland
A scrollable-tiling Wayland compositor. Contribute to YaLTeR/niri development by creating an account on GitHub.
--【拾伍】--:
DankMaterialShell什么安装 aur找不到包
--【拾陆】--:
水的字数这么多?牛逼
--【拾柒】--:
看样子是微信不用wayland导致的
--【拾捌】--:
请问配置里面DankMaterialShell要改成新包名吗 我安装好后进niri感觉只完成一半 ui有了 但是有些快捷键无效,比如win+v都没反应 可以看下你的ui是什么样子的吗
--【拾玖】--:
哦哈,quickshell直接接受了消息通知,直接导致edge不弹窗了

