所以我才在分离模式下创建了一堆窗格。现在我想在第二个窗格(窗格编号 1)中放置一个时钟。
这是我的代码:
tmux new-session -d -s ssh_tmux
tmux splitw -v -p 30 -t ssh_tmux:1.0
tmux splitw -h -p 60 -t ssh_tmux:1.1
#required; otherwise pane numbering is bs
tmux select-pane -t ssh_tmux:1.0
tmux splitw -h -p 30 -t ssh_tmux:1.0
tmux send-keys -t ssh_tmux:1.2 htop Enter
tmux send-keys -t ssh_tmux:1.1 'tmux clock' Enter
tmux a -t ssh_tmux
问题是,虽然在正确的窗格中输入了“tmux 时钟”,但时钟实际上显示在活动窗格中。我能找到的唯一解决方法是设置ssh_tmux:1.1
为活动窗格,使用 创建时钟send-keys
,发送sleep
大于 0.1 秒的 (0.2 有效,0.1 不够),然后设置ssh_tmux:1.0
为活动窗格。
这种解决方法有点糟糕。肯定有更好的方法吧?
答案1
问题是,虽然在正确的窗格中输入了“tmux clock”,但时钟实际上显示在活动窗格中。
是的,它应该是这样运作的。
完整的非缩写名称是tmux clock-mode
。它不是一个独立的应用程序,也不会像时钟会;它只是连接到 tmux 服务器并告诉它重新配置窗格显示时钟。(而且 tmux 服务器根本不知道你从哪个窗格运行它。)
tmux send-keys
您可以看到,在这方面它与其他 tmux 子命令(如)类似。
这种解决方法有点糟糕。肯定有更好的方法吧?
是的,与其他 tmux 子命令类似,您可以通过运行脚本直接告诉它要配置哪个窗格tmux clock -t ssh_tmux:1.1
。记录如下:
clock-mode [-t target-pane]
Display a large clock.