显示自上次更改窗格内容以来经过的时间?

显示自上次更改窗格内容以来经过的时间?

是否有任何 tmux 插件/片段可以显示自上次屏幕(或每个窗格的内容)更改以来经过的时间?

这对于监视日志流(例如通过 tailf)特别有帮助。

谢谢。

答案1

使用控制模式 ( tmux -C) 并解析输出。

快速而肮脏的脚本,概念证明:

#!/bin/bash

pane="$1"
trap 'SECONDS=0; dte="$(date)"' USR1

unset TMUX
kill -s USR1 "$$"
tmux -C attach | while read -r a p z; do
   [ "$p" = "$pane" ] && kill -s USR1 "$$"
done &

while sleep 1; do printf '\r%-12d %s      ' "$SECONDS" "$dte"; done

用法:./scriptname %N哪里%N是您要监视的窗格的 ID(例如%0;通常可以使用 获取它echo "$TMUX_PANE")。监视脚本运行的窗格是可能的,但意义不大。

tail -f /var/log/syslog在受监视的窗格和其他地方进行了测试logger

相关内容