tmux提供了一种称为控制模式的文本界面,允许应用程序使用简单的纯文本协议与tmux进行通信。
在控制模式下,client在stdin上发送tmux命令或命令序列。每个命令将在stdout上产生一个输出块。一个输出块由%begin为开始,后跟输出内容(可能为空),以%end或%error为结束。 %begin和对应的%end或%error后有两个参数:整数时间(从epoch的秒数)和命令数。例如:
%begin 1363006971 2 0: ksh* (1 panes) [80x24] [layout b25f,80x24,0,0,2] @2 (active) %end 1363006971 2
在控制模式下,tmux输出通知。输出块内绝不会发生通知。
预定义了一下几种通知
%exit [reason]
tmux客户端立即退出,因为它没有附加到任何session或发生了错误。reason(如果存在)描述了客户端退出的原因。
%layout-change window-id window-layout window-visible-layout window-flags
ID为window-id的window布局发生了变化。新布局是window-layout。window的可见布局是window-visible-layout,window标志是window-flags。
%output pane-id value
window的一个pane输出。将不可打印的字符和反斜杠转义为八进制。
%session-changed session-id name
client现在附加到ID为session-id的会话中,该session的名为name。
%session-renamed name
当前session被重命名为name。
%sessions-changed
当前session被创建或者销毁。
%unlinked-window-add window-id
ID为window-id的window已创建,但未链接到当前session。
%window-add window-id
ID为window-id的window链接到当前session。
%window-close window-id
ID为window-id的window关闭。
%window-renamed window-id name
ID为window-id的window被重命名为name。