【问题标题】:Adding informative statusbar to fullscreen terminal window将信息状态栏添加到全屏终端窗口
【发布时间】:2011-08-10 00:41:16
【问题描述】:

简单地说: 我想添加一个状态栏,它贴在终端窗口的底部或顶部,提供一目了然的信息(例如电池寿命、信号强度、电子邮件计数、$PROMT_COMMAND 等)。从本质上讲,这将允许终端以全屏模式打开,并且可以轻松查看我可能想要的所有信息,同时让我继续正常进行所有必要的终端工作。我主要使用 mac,但更喜欢 *nix 兼容的解决方案。

更多细节(以及我已经尝试过的): 我是一个大终端用户,直到最近(一两天内)才开始使用 tmux,所以我知道你们中的许多人可能会建议我尝试使用像 screen 或 tmux 这样的多路复用器。虽然 tmux 开始对我非常有用,但它有其局限性,例如对单行状态栏的限制,这并不理想,因为我希望保持标签栏的清洁,而不会有一半被信息吃掉.另外,我想添加 $PROMPT_COMMAND 来显示当前目录,这很容易占用大部分状态栏,具体取决于我在系统中的位置。

另外,我尝试了 screen 一段时间,这让你有一个 hardstatus 和一个接近我想要的标题,但它的开发似乎已经停止。此外,垂直分割窗格的补丁弄乱了两行状态栏的图形(非常丑陋)。

因此,我认为最好运行一个后台进程来更新我的多路复用器上方部分屏幕上的状态栏......当然,除非 tmux 具有我没有的多行状态栏实现想通了。

如果您认为它适合您,我很想听听您的任何可能的解决方案,甚至是您自己的个人设置。感谢大家提供任何可能的帮助。

【问题讨论】:

    标签: macos terminal statusbar tmux


    【解决方案1】:

    几个选项:

    1. 您可以在 tmux 内部运行 tmux(具有不同的配置;您可以使用 -f 指定配置文件。)

    2. 您可以使用选项卡标题,但它可能不够宽,无法包含您想要的所有内容。 (即使只有一个标签,您也可以在全屏模式下显示标签栏)。您需要告诉 tmux 传递标题;见set set-titlesset set-titles-string

    我建议你同时使用 - 将当前目录放在选项卡标题中,将所有其他状态信息放在由 tmux 维护的单独行中,这样你可以在不使用完整的时候跳过第二部分-屏幕终端。

    【讨论】:

    • 感谢您的回复!首先,我最初使用的是标签标题,但正如你所说,它太小而无法包含我想要的信息。或者,我考虑过这个想法(在 tmux 或屏幕中运行 tmux)。这可能是最好的选择。我看到了一些问题,但不知道一个简单的解决方案: 1. 嵌套的 tmux 窗口之间的键绑定不会混淆吗? 2.有没有办法让初始tmux会话自动打开子tmux实例? 3.这会影响窗户的分离吗?
    • 1.您可以更改 tmux 命令前缀 (set -g prefix)。 2. 当然,您可以使用tmux new-session -n tmux 'TMUX= exec tmux' 之类的东西启动tmux(当然,为每个配置文件提供不同的-f 配置文件)。 3. 当您分离内部 tmux 时,外部 tmux 将退出,因为它的所有 (1) 个客户端都消失了。
    • 哇,我已经对此进行了很多试验,这肯定有可能成为最佳解决方案。但是,我发现为了访问嵌套的 tmux-sessions 的前缀,必须对第二个嵌套的 tmux 执行 2 次 C-b(仅适用于 2)。这是因为它们都继承了父级的源文件。所以,如果我写:tmux -f outer.conf new 'TMUX= exec tmux -f inner.conf',他们都会接受source-file outer.conf。我似乎无法指定单独的 conf 文件。有趣的说明:如果我 ssh 远程服务器并运行 tmux,它就可以工作。对本地解决方案有任何想法吗?
    • 啊哈!我发现-L socket-name 选项可以让我创建多个服务器(因此也可以创建多个source-file)。这将使我得到我需要的东西。当我创建一个脚本以正确创建会话并重新附加(到两者)时,我将发布我的结果。非常感谢您提供非常有用的提示和讨论!
    • 对不起,错过了——你需要给 tmux 另一个套接字来使用。所以像tmux -f outer.conf new 'TMUX= exec tmux -L inner -f inner.conf' 这样的东西应该可以工作。
    【解决方案2】:

    我有电池信息,

    您可以获取所需文件的副本

    https://github.com/richo/dotfiles/blob/master/tmux.confhttps://github.com/richo/dotfiles/blob/master/bin/battery

    (确保电池是可执行的并且在您的 PATH 中)

    它会以蓝色(充电)、红色(放电)或根本不显示(充满电)显示电池百分比

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-06
      • 1970-01-01
      • 1970-01-01
      • 2018-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多