Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 向全屏终端窗口添加信息性状态栏_Macos_Terminal_Statusbar_Tmux - Fatal编程技术网

Macos 向全屏终端窗口添加信息性状态栏

Macos 向全屏终端窗口添加信息性状态栏,macos,terminal,statusbar,tmux,Macos,Terminal,Statusbar,Tmux,简而言之: 我希望在终端窗口的底部或顶部添加一个状态栏,提供可浏览的信息(例如电池寿命、信号强度、电子邮件计数、$PROMT_命令等)。基本上,这将允许终端全屏打开,并且可以轻松浏览所有可能需要的信息,同时让我继续正常进行所有必要的终端工作。我主要使用mac,但更喜欢*nix兼容的解决方案 更多细节(以及我已经尝试过的内容): 我是一个大型终端用户,直到最近(一两天内)才开始使用tmux,所以我知道你们中的许多人可能会建议我尝试使用诸如screen或tmux之类的多路复用器。虽然tmux开始对我

简而言之: 我希望在终端窗口的底部或顶部添加一个状态栏,提供可浏览的信息(例如电池寿命、信号强度、电子邮件计数、$PROMT_命令等)。基本上,这将允许终端全屏打开,并且可以轻松浏览所有可能需要的信息,同时让我继续正常进行所有必要的终端工作。我主要使用mac,但更喜欢*nix兼容的解决方案

更多细节(以及我已经尝试过的内容): 我是一个大型终端用户,直到最近(一两天内)才开始使用tmux,所以我知道你们中的许多人可能会建议我尝试使用诸如screen或tmux之类的多路复用器。虽然tmux开始对我非常有用,但它也有它的局限性,例如限制为单行状态栏,这并不理想,因为我希望保持选项卡栏的整洁,而不让一半的状态栏被信息吞噬。此外,我还想添加$PROMPT_命令,该命令显示当前目录,根据我在系统中的位置,它可以很容易地占用大部分状态栏

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

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

我很乐意听到你的任何可能的解决方案,甚至是你自己的个人设置,如果你认为它对你很好。感谢所有可能的帮助。

有几个选项:

  • 可以在tmux内部运行tmux(使用不同的配置;可以使用-f指定配置文件)

  • 您可以使用选项卡标题,尽管它可能不够宽,无法包含您想要的所有内容。(即使只有一个选项卡,也可以全屏模式显示选项卡栏)。您需要告诉tmux传递标题;请参见
    设置集合标题
    设置集合标题字符串

  • 我建议您同时使用这两种方法-将当前目录放在选项卡标题中,并将所有其他状态信息放在由tmux维护的单独一行中,这样您就可以在不使用全屏终端时跳过第二部分。

    有几个选项:

  • 可以在tmux内部运行tmux(使用不同的配置;可以使用-f指定配置文件)

  • 您可以使用选项卡标题,尽管它可能不够宽,无法包含您想要的所有内容。(即使只有一个选项卡,也可以全屏模式显示选项卡栏)。您需要告诉tmux传递标题;请参见
    设置集合标题
    设置集合标题字符串


  • 我建议您同时使用这两个选项-将当前目录放在选项卡标题中,并将所有其他状态信息放在由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会话的前缀,必须对第二个嵌套tmux执行2次C-b(仅对2次有效)。这是因为它们各自继承父级的源文件。因此,如果我写:
    tmux-f outer.conf new'tmux=exec tmux-f inner.conf'
    它们都采用
    源文件outer.conf
    。我似乎无法指定单独的conf文件。有趣的注意:如果我用ssh连接远程服务器并运行tmux,它就会工作。有本地解决方案的想法吗?啊哈!我发现
    -L socket name
    选项将允许我创建多个服务器(因此可以创建多个
    源文件
    )。这会让我得到我需要的。当我创建一个脚本来正确创建会话并重新连接(两者)时,我将发布我的结果。非常感谢您提供的非常有用的提示和讨论!抱歉,遗漏了您需要给tmux另一个套接字以使用的内容。所以像
    tmux-f outer.conf new'tmux=exec tmux-L inner-f inner.conf'
    这样的东西应该可以工作。谢谢你的回复!首先,我最初使用的是标签标题,但正如你所说,它太小,无法包含我想要的信息。或者,我考虑过这个想法(runnin)