进程通信
i3 使用 Unix 套接字来提供 IPC 接口。这允许第三方程序从 i3 获取信息,例如当前工作区(以显示工作区栏),并控制 i3。
IPC 套接字默认启用,如果目录可用,将在 $XDG_RUNTIME_DIR/i3/ipc-socket.%p
中创建,如果没有则使用 /tmp/i3-%u.XXXXXX/ipc-socket.%p
,其中 %u
是你的 UNIX 用户名,%p
是 i3 的 PID,XXXXXX 是来自可移植文件名字符集的随机字符串(请参阅 mkdtemp(3))。
你可以通过环境变量 I3SOCK 或指定 ipc-socket 指令来覆盖默认路径。但是,这是不提倡,因为 i3 默认情况下会做正确的事情。 如果你决定更改它,强烈建议将其设置为你的主目录中的某个位置,以免其他用户无法创建该目录。
例子:
ipc-socket ~/.i3/i3-ipc.sock
然后,你可以使用 i3-msg
应用程序执行 命令列表 中列出的任何命令。