Airfoil音箱控制
命令行控制AirPl
通过IPC接口控制Linux上的Niri Wayland合成器,支持查询显示器、工作区、窗口状态,以及执行聚焦、移动、关闭窗口等操作。
安装前提
$NIRI_SOCKET已设置(Niri会话内通常自动设置)快速开始
# 查看版本
./skills/niri-ipc/scripts/niri.py version
# 列出所有窗口
./skills/niri-ipc/scripts/niri.py windows
# 按名称聚焦窗口
./skills/niri-ipc/scripts/niri_ctl.py focus firefox
常用操作
# 切换工作区
./skills/niri-ipc/scripts/niri.py action focus-workspace 2
# 移动窗口到工作区
./skills/niri-ipc/scripts/niri.py action move-window-to-workspace 3
# 关闭焦点窗口
./skills/niri-ipc/scripts/niri.py action close-window
# 重新加载配置
./skills/niri-ipc/scripts/niri.py action load-config-file
# 启动程序
./skills/niri-ipc/scripts/niri.py action spawn -- alacritty
原始IPC访问
# 发送单条请求
./skills/niri-ipc/scripts/niri_socket.py raw '"FocusedWindow"'
# 批量请求
echo -e '"FocusedWindow"\n"Workspaces"' | ./skills/niri-ipc/scripts/niri_socket.py stdin
# 事件流监听
./skills/niri-ipc/scripts/niri.py event-stream
见下方输入与输出表格。
| 项目 | 内容 |
|---|---|
| 输入 | 窗口标题子串、应用ID子串、工作区索引/名称、窗口ID、Niri动作指令、原始JSON请求 |
| 输出 | 显示器信息、工作区列表、窗口列表、焦点窗口详情、操作执行结果、事件流JSON数据 |
| 适用人群 | Niri合成器用户、Linux桌面自动化开发者、状态栏/面板开发者、窗口管理脚本编写者 |
| 不包含 | 非Niri合成器支持、X11环境兼容、图形用户界面、远程网络控制功能 |
$NIRI_SOCKET未设置会导致失败原始链接:https://github.com/openclaw/skills/tree/main/skills/atefr/niri-ipc/SKILL.md
来源类型:GitHub仓库