niri 配置实战:按效果改 5 组 KDL 片段,把可滚动平铺桌面调成自己的样子

发布时间:2026/10/31 18:59:15

niri 配置实战:按效果改 5 组 KDL 片段,把可滚动平铺桌面调成自己的样子 niri 配置实战按效果改 5 组 KDL 片段把可滚动平铺桌面调成自己的样子【免费下载链接】niriA scrollable-tiling Wayland compositor.项目地址: https://gitcode.com/GitHub_Trending/ni/niriniri 是一个可滚动平铺的 Wayland 合成器窗口按列排布超出屏幕的部分可以横向滚动。本文面向想用键盘流管理窗口的开发者和设计师不照配置文件顺序逐项讲而是按你想要的效果给可直接粘贴的 KDL 片段覆盖布局密度、动画、双显示器、快捷键与工作区分区。所有改动保存后即时热加载无需重启。它替你解决了什么先说清两个典型场景你才知道哪些配置值得动场景 A一屏不够用但又不想手动切窗口。niri 把每个窗口放进一列多列从左到右排开滚到屏外也能按Mod方向键继续聚焦用ModCtrl方向键把当前列移走。你想调的其实是列有多宽窗口间留多少缝。场景 B外接一块副屏想把不同用途的窗口分开。副屏可以整块留给浏览器内置屏留给代码还能给某块屏单独定分辨率和缩放。下面按这两个诉求加上更顺手的动画/快捷键/分区逐组给片段。最短路径跑起来装发行版包或直接编译# Ubuntu/Debian依赖 编译 sudo apt-get install -y gcc clang libudev-dev libgbm-dev libxkbcommon-dev \ libegl1-mesa-dev libwayland-dev libinput-dev libdbus-1-dev libsystemd-dev \ libseat-dev libpipewire-0.3-dev libpango1.0-dev libdisplay-info-dev # 编译前需先安装 Rustrustup git clone https://gitcode.com/GitHub_Trending/ni/niri cd niri cargo build --release这一步只装依赖和编译出二进制改什么无。为什么niri 用 Rust 写成编译一次后放系统里。改完看到什么target/release/niri生成即可运行。启动方式二选一在显示管理器如 GDM里选 Niri 登录或在 TTY 里跑niri-sessionsystemd/niri --session其它。首次启动会生成默认配置~/.config/niri/config.kdl后面所有片段都往这个文件里加。提示配置是 KDL 语法//是注释/-可注释掉整个小节。多数小节漏写会用默认值唯独binds不会自动补全别删掉它。按效果定制 KDL让窗口更紧凑或更宽松改什么layout里的gaps窗口内外缝隙和struts贴边额外留白。为什么默认缝隙可能太挤或太散这里统一控制密度。改完看到什么所有窗口间距同步变化。layout { gaps 16 // 缝隙逻辑像素越小越紧凑 struts { left 16 // 贴左边的额外留白用负值可让相邻列peek出来 right 16 } }想让只有列与列之间留缝、而贴屏幕边缘不留缝把struts设成与gaps相反的负值即可这招比逐窗口改省事。让新窗口默认就占合适宽度改什么default-column-width新列初始宽度。为什么默认宽度可能不合你习惯这里定初始尺寸。改完看到什么以后开的新窗口都按此宽。layout { default-column-width { proportion 0.5 } // 新窗口默认占屏宽一半 }配合ModR可在预设列宽间循环想要更多档位就往preset-column-widths里加。让窗口打开/关闭更顺改什么animations下的各项。为什么默认曲线偏快改成弹簧更有跟手感尤其配合触摸板滑动。改完看到什么窗口开合与移动更连贯。animations { window-open { duration-ms 200 curve ease-out-expo // 开缓动可换 cubic-bezier } window-movement { spring damping-ratio1.0 stiffness800 // 移动弹簧damping 越低越有回弹 } }想让整个界面更稳或更飘直接改stiffness越低越慢想要回弹就把damping-ratio调到 1.0 以下别超过 1.0 以免出现数值抖动。让双显示器按物理摆放改什么每个output的mode、scale、position。为什么默认自动摆放可能和物理方向不符。改完看到什么副屏到指定位置、指定分辨率。output HDMI-A-1 { mode 2560x144060 // 宽x高刷新率刷新率必须与 niri msg outputs 完全一致 scale 1.0 // 缩放HiDPI 屏用 2 position x1280 y0 // 全局坐标单位是缩放后的逻辑像素不是物理像素 }注意position的 x 要按逻辑像素算一块scale 2的 4K 屏逻辑宽只有 1920旁边那屏的 x 就填 1920。填错会导致光标到不了副屏。输出名可用niri msg outputs查。让全屏/窗口观感到位改什么workspace分区 窗口圆角规则。为什么把浏览器、聊天类固定到某块屏、某层工作区观感更整齐。改完看到什么指定应用直接落到目标屏。workspace browser { open-on-output HDMI-A-1 } // 命名工作区常驻该屏 window-rule { match app-idr#^org\.chromium\.Chromium$# open-on-workspace browser geometry-corner-radius 12 // 全窗口统一圆角 clip-to-geometry true }让常用动作一键触发改什么binds里的键位。为什么默认键位不一定合你手。改完看到什么自定义组合键生效。binds { ModReturn { spawn alacritty; } // 程序名 参数要分开加引号不走 shell ModQ { close-window; } ModLeft { focus-column-left; } // 聚焦左列加 Ctrl 则移动而非聚焦 ModRight { focus-column-right; } }spawn不经过 shell参数逐个加引号要跑管道/展开变量就用spawn-sh 整条命令。高频问题速查现象改了配置保存后毫无变化。原因KDL 语法写错会导致整个文件解析失败、回退旧配置而不是只失效那一行。修复跑niri validate看报错行号改完再存。它只校验不启动是最小的排查动作。现象副屏位置不对光标滑不过去。原因position填的是物理像素没除以缩放系数。修复把 x/y 换成逻辑像素物理值 ÷ scale与niri msg outputs的分辨率对齐。现象窗口边框/圆角被应用自带的 CSD 挡住透明窗口发色。原因很多应用画自己的圆角/阴影盖住 niri 的边框。修复顶层加prefer-no-csd后重启应用让 niri 在窗口外画边框个别顽固的再加clip-to-geometry true规则。下一步动作把上面任意一组片段粘进~/.config/niri/config.kdl保存然后立刻校验niri validate看到无报错即生效要核对双屏实际分辨率与刷新率跑niri msg outputs把mode里的刷新率按它逐位填准即可。【免费下载链接】niriA scrollable-tiling Wayland compositor.项目地址: https://gitcode.com/GitHub_Trending/ni/niri创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/27 3:18:35

30 分钟把 PC 游戏串到手机上:Sunshine 游戏串流上手指南

30 分钟把 PC 游戏串到手机上:Sunshine 游戏串流上手指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 想躺在沙发上用手柄玩电脑游戏?Sunshine 是一个自…

2026/10/30 4:02:20

SPSS数据处理核心技能:变量生成、赋值与变量集管理实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/31 18:54:40

浏览器扩展端侧AI推理实战:Manifest V3与WebGPU架构指南

1. 端侧推理为何突然成了浏览器扩展的刚需 浏览器扩展这个行当,过去十年基本就是干三件事:改页面样式、拦网络请求、往页面里塞按钮。逻辑简单,打包出来几百KB,扔到应用商店就完事。但从去年开始,我明显感觉到风向变了…

2026/10/31 18:54:40

PC输入法怎么选?微信、Rime、豆包三套方案横向对比与配置指南

输入法这东西,属于典型的“用惯了就不觉得存在,一旦换掉浑身难受”的工具。我前后在五六台机器上折腾过各种输入方案,从最早的系统自带,到后来追各种花里胡哨的皮肤词库,再到回归极简、自己动手配置,踩过的…

2026/10/31 18:54:40

Python+Hadoop+Spark构建零售大数据可视化系统实战

1. 项目概述:当零售业遇上大数据可视化去年双十一期间,某区域连锁超市通过我们团队开发的这套系统,成功预测到当地消费者对某款小众健康食品的爆发式需求,提前两周完成备货并针对性投放广告,最终该品类销售额同比增长3…

2026/10/31 18:54:40

智能系统开发:从构建到持续进化的思维转变

1. 从"造系统"到"养系统"的思维转变在传统IT时代,我们习惯于"造系统"的思维模式:需求分析→系统设计→开发实施→上线交付。这种线性思维在确定性环境中确实高效,但在智能时代却面临三大困境:需求变…

2026/10/31 18:54:40

LCEL链式编程:构建可维护、可观测的LLM应用流水线

1. 什么是LCEL链式编程:一条看得见、摸得着的AI流水线你有没有试过写一段大模型调用代码,结果光是初始化模型、拼接prompt、调用API、解析JSON、处理异常这五步,就写了四十多行?我去年在做电商客服意图识别模块时,就是…

2026/10/31 18:49:40

实时网络同步技术:帧同步与状态同步的深度解析

1. 实时网络同步技术概述 在当今的互联网应用中,实时网络同步技术已经成为游戏开发、协同办公、远程控制等领域的核心技术。这项技术要解决的核心问题是:如何让多个终端设备在毫秒级延迟内保持数据状态和视觉表现的一致性。 我曾在多个游戏项目中负责网…

2026/10/30 20:55:10

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/30 20:55:10

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/30 20:55:09

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/31 0:02:41

猫狗目标检测数据集:VOC/COCO/YOLO三格式一体化实战包

简介:本资源是一套面向计算机视觉初学者与YOLO目标检测实践者的猫狗图像数据集及配套开发工具包,专为快速上手目标检测模型训练而设计。资源包含1000张真实场景高清猫狗图片,标注质量高,同时提供VOC(XML)、…

2026/10/31 0:02:41

HDU2017多校标程复现:算法竞赛工程化真题沙盒

简介:本资源为2017年HDU多校联合训练第一场官方配套资料,面向ACM程序设计竞赛备赛学生、算法爱好者及高校编程集训队成员,旨在提供权威解题参考与完整测试验证环境。压缩包共40个文件,含15份C标程(覆盖全部赛题&#x…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑