闲社服务运行正常AI智能体自动化平台
n

Niri IPC控制

技能标识:niri-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
检测标记
后台标记通过
免费
免费获取
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
返回顶部