返回顶部
n

niri-ipcNiri IPC控制

Control the Niri Wayland compositor on Linux via its IPC (`niri msg --json` / $NIRI_SOCKET). Use when you need to query Niri state (outputs/workspaces/windows/focused window) or perform actions (focus/move/close windows, switch workspaces, spawn commands, reload config) from an OpenClaw agent running on a Niri session.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
1,970
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

niri-ipc

Niri IPC

通过 niri msg CLI(推荐)或向 $NIRI_SOCKET 写入 JSON 请求来使用 Niri IPC。

本技能假设:

  • - 你正在运行 Niri 的 Linux 系统上。
  • 已设置 $NIRI_SOCKET(在 Niri 会话中通常为真)。

快速开始(推荐)

使用附带的辅助脚本(niri msg --json 的封装):

bash
./skills/niri-ipc/scripts/niri.py version
./skills/niri-ipc/scripts/niri.py outputs
./skills/niri-ipc/scripts/niri.py workspaces
./skills/niri-ipc/scripts/niri.py windows
./skills/niri-ipc/scripts/niri.py focused-window

深度控制

1) 高级辅助工具(窗口匹配)

当你想通过标题/应用ID子串而非ID来引用窗口时,使用 scripts/niri_ctl.py:

bash

列出窗口(可选过滤)


./skills/niri-ipc/scripts/niri_ctl.py list-windows --query firefox

通过子串匹配聚焦窗口

./skills/niri-ipc/scripts/niri_ctl.py focus firefox

关闭匹配的窗口(聚焦后关闭)

./skills/niri-ipc/scripts/niri_ctl.py close firefox

将匹配的窗口移动到工作区(按索引或名称)

./skills/niri-ipc/scripts/niri_ctl.py move-to-workspace firefox 3 ./skills/niri-ipc/scripts/niri_ctl.py move-to-workspace firefox web

按索引或名称聚焦工作区

./skills/niri-ipc/scripts/niri_ctl.py focus-workspace 2 ./skills/niri-ipc/scripts/niri_ctl.py focus-workspace web

2) 完整IPC访问(原始套接字)

使用 scripts/nirisocket.py 直接与 $NIRISOCKET 通信(换行分隔的JSON):

bash

发送简单请求(JSON字符串)


./skills/niri-ipc/scripts/niri_socket.py raw FocusedWindow

批量请求:每行一个JSON请求,通过标准输入

printf %s\n FocusedWindow Workspaces | ./skills/niri-ipc/scripts/niri_socket.py stdin

事件流(持续打印JSON事件直到中断)

./skills/niri-ipc/scripts/niri_socket.py event-stream

操作

传递Niri操作:

bash

按索引聚焦工作区


./skills/niri-ipc/scripts/niri.py action focus-workspace 2

将聚焦窗口移动到工作区

./skills/niri-ipc/scripts/niri.py action move-window-to-workspace 3

按ID聚焦窗口

./skills/niri-ipc/scripts/niri.py action focus-window 123

关闭聚焦窗口

./skills/niri-ipc/scripts/niri.py action close-window

重新加载niri配置

./skills/niri-ipc/scripts/niri.py action load-config-file

生成(无shell)

./skills/niri-ipc/scripts/niri.py action spawn -- alacritty

通过shell生成

./skills/niri-ipc/scripts/niri.py action spawn-sh -- notify-send hello

输出配置

通过封装使用 niri msg output ...:

bash
./skills/niri-ipc/scripts/niri.py output --help

直接使用 niri msg

如果你不想使用辅助脚本,直接调用Niri:

bash
niri msg --json windows
niri msg --json action focus-workspace 2

提示:如果升级后出现 niri msg 解析错误,请重启合成器(新版本 niri msg 与旧版本合成器不匹配是常见问题)。

事件流

用于状态栏/守护进程:Niri可以流式传输事件。

bash

原始JSON事件行(持续运行直到中断)


./skills/niri-ipc/scripts/niri.py event-stream

仅获取几行用于快速测试

./skills/niri-ipc/scripts/niri.py event-stream --lines 5

故障排除

  • - 如果命令失败并显示“NIRI_SOCKET is not set”:请在Niri会话内运行,或导出套接字路径。
  • 如果你需要套接字协议详情,请阅读:./skills/niri-ipc/references/ipc.md。
  • 如果你的目标是复杂自动化(通过标题/应用ID选择正确的窗口等),请先查询 windows,然后通过窗口ID执行操作。

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 niri-ipc-1776374764 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 niri-ipc-1776374764 技能

通过命令行安装

skillhub install niri-ipc-1776374764

下载

⬇ 下载 niri-ipc v1.0.0(免费)

文件大小: 8.22 KB | 发布时间: 2026-4-17 15:09

v1.0.0 最新 2026-4-17 15:09
Initial release of niri-ipc skill.

- Control Niri Wayland compositor on Linux using its IPC interface (`niri msg --json` or `$NIRI_SOCKET`)
- Bundled helper script for common actions: querying outputs, workspaces, windows, and focused window
- High-level helpers for matching and managing windows by substring (title or app_id)
- Direct access to raw IPC via socket, supporting batch requests and event streams
- Support for key compositor actions: focus/move/close windows, switch/focus workspaces, reload config, spawn commands
- Troubleshooting and reference information included for smooth integration

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部