1.9 KiB
1.9 KiB
TODO
窗口横向贴左 / 贴右键位
状态:搁置(等上游支持后再做)
需求
当前 Super+C(Mod+C { center-column; })用于将窗口横向居中。
希望能再分别设置横向贴左、贴右,例如:
| 键位 | 动作 |
|---|---|
Mod+C |
居中(现状) |
Mod+Ctrl+C |
横向贴左 |
Mod+Shift+C |
横向贴右 |
卡点
- niri 26.04 没有 左/右对齐动作,只有
center-column/center-window/center-visible-columns。 - niri 没有插件 API:外部工具(含 piri 这类"插件系统")只能监听事件流 + 调用已有 action,无法新增合成器内部动作;而横向对齐需要改内部 view offset,因此纯外部方案无法真正实现。
- 上游
align-column/align-window仍是未合并 PR(#3033、#4417)。 - 注意:
Mod+Ctrl+C目前已被center-visible-columns占用,届时需处理冲突。
触发条件与届时做法
上游 PR #4417 合并进 niri 后,本需求退化为纯配置问题,在 dms/binds.kdl 增加:
Mod+Ctrl+C { align-column horizontal="left"; }
Mod+Shift+C { align-column horizontal="right"; }
(如保留 center-visible-columns,需为其换一个不冲突的键位)
已评估但暂时放弃的替代方案
| 方案 | 放弃原因 |
|---|---|
| 薄 patch + 自定义 PKGBUILD | 每次上游更新需维护/rebase patch |
AUR niri-git |
滚动版,且上游尚未合并该特性 |
niri_tweaks 的 niri_right_align.sh |
dummy 窗口会导致终端闪烁,对窗口操作不可接受;且只能贴右 |
| piri 插件系统 | 只有状态驱动的自动对齐,无法手动贴左/贴右 |
参考
- niri Action 列表:
niri msg action - 上游对齐 PR:https://github.com/niri-wm/niri/pull/4417