包括窗口标题中的命令行参数

时间:2014-09-25 17:41:24

标签: fish

我目前的fish_title功能如下:

# Set the window title                                                           
function fish_title                                                              
    if [ $_ != fish ]                                                            
        echo (prompt_pwd)": $_"                                                  
    else                                                                         
        echo (prompt_pwd)":"                                                     
    end                                                                          
end

它将当前工作目录的缩写版本和当前运行的命令放在窗口的标题栏中。但是,我需要的是将基本命令及其参数放在窗口标题中。例如,如果我运行

ssh home

目前我看到"〜:ssh"在窗口标题中。我需要"〜:ssh home"。这是因为我使用password entry program来触发窗口标题,密码必须与ssh目的地匹配。

有没有办法在fish shell的窗口标题中包含命令行选项?

2 个答案:

答案 0 :(得分:1)

我在鱼back in 2012中提出此问题,但最终added in development versions$argv

答案 1 :(得分:0)

从不同的角度接近您想要的目标,您可以像我一样完成并在标题中明确包含远程主机名。我已经在my fish prompt中提取并使用主机名:

set -g __fish_prompt_hostname (hostname|cut -d . -f 1)

...所以我重新使用my fish title中的__fish_prompt_hostname变量,当且仅当我当前通过SSH连接到远程主机时。您可以做类似的事情,也许修改上面的相关行:

if [ $SSH_CONNECTION ]
    echo (prompt_pwd)": $_ $__fish_prompt_hostname"
end

顺便说一下,我发布了TackleboxTackle项目,以便分享这些鱼类功能和工具,所以请随时查看它们,看看有什么符合您的需求,和/或为项目做出贡献。