可以隐藏一个特定 tmux 会话的状态栏(但不隐藏其他会话)吗?

可以隐藏一个特定 tmux 会话的状态栏(但不隐藏其他会话)吗?

我使用剩下的几台廉价 Fire 平板电脑 + ssh + tmux 来运行,以便始终以视觉方式查看我的 taskwarrior 和 timewarrior 状态。

效果很好!

但由于某些低端设备的屏幕空间有限,我不希望在它们上显示状态栏……

我知道我可以隐藏所有 tmux 会话的状态栏,但是当我在我的桌面/笔记本电脑上使用 tmux 时,我肯定希望它可见。有没有办法关闭给定会话中所有窗口的状态栏?

非常感谢!

如果重要的话,在这种情况下在 os x 上运行 tmux。

答案1

Tmux 命令set status off(或从 shell tmux set status off:)关闭单个会话的状态行。

我怀疑你可能搞错了术语。在你的工作流程中,你可能使用两个或更多客户附于相同会话。我不知道有任何方法可以关闭特定客户端的状态行。我认为您需要多个会话。

(注意:每当此答案指出以 开头的命令时tmux,它就是在 shell 中运行的命令。不以 开头的命令tmux是在 tmux 中运行的命令(在prefix:键绑定之后或从键绑定)。通常,您可以通过删除(或在前面添加)单词将一种形式转换为另一种形式(反之亦然)tmux

至少有两种方法可以在另一个会话中获取同一个窗口:

  1. 您可以在多个会话之间共享一个或多个窗口。假设已经有0一个带有窗口的会话0:0。不要将会话附加到0另一个客户端(tmux attach),而是创建一个新会话(tmux new-sessiontmux new简称)。假设新会话是1。然后您可以将link-window旧窗口添加到新会话:

    tmux link-window -s 0:0 -t 1:
    

    补充命令是unlink-window。其他窗口可以在每个会话中独立创建、链接或取消链接。

  2. 0您可以在同一会话组中创建新会话。不要使用另一个客户端 ( )附加到会话tmux attach,而是像这样创建新会话:

    tmux new -t 0:
    

    新会话将被标记0-1或类似标记。同一组中的会话共享同一组窗口。新窗口链接到组中的所有会话,任何关闭的窗口将从所有会话中删除。

请比较这是我的另一个答案在一个无意中做过类似事情的人提出的问题下发布的。

不管怎样,你现在共享至少一个窗口的会话。您可以单独对每个会话执行set status offset status on。从共享窗口内的 shell 执行此操作可能会针对错误的会话,因此请明确指定要影响的会话:

tmux set -t 0-1: status off

或者不要通过 shell 执行此操作,而是直接在 tmux 中执行此操作:

prefix:设置状态关闭Enter

可能您只需要两个会话:一个带有状态行,另一个不带有。请记住,您可以命名它们(从一开始使用new-session -s …或稍后使用rename-session)。这样,而不是0:1:或者0-1:您可以使用更具描述性的自定义名称,例如w(如 warriors: task- 和 timewarrior)和w-noline

相关内容