令人烦恼的Guake自动重绘


13

我喜欢Guake下拉式终端,但有一个令人讨厌的问题。当我使用许多选项卡时,我讨厌每次执行命令或在其中之一中导航时,选项卡名称都会重命名。我想重命名任何选项卡并在所有会话中保留名称。例如,当我使用Midnight Commander并输入一个长路径文件夹时,该选项卡将展开并且非常恐怖。mc [user@machine_name]:/weird/long/infinite/path导航到/weird/long/infinite/path文件夹时,我看到选项卡名称。

即使手动重命名每个标签,我也可以使用相同的名称吗?

Answers:



8

我找到了一种禁用烦人的重命名的方法。我在guake Python脚本(版本0.4.3-3中)的996至1002行中找到了:

def on_terminal_title_changed(self, vte, box):
    use_them = self.client.get_bool(KEY("/general/use_vte_titles"))
    if not use_them:
        return
    page = self.notebook.page_num(box)
    self.tabs.get_children()[page].set_label(vte.get_window_title())

如脚本所示,/general/use_vte_titles密钥阻止了自动重新命名功能。Guake使用GConf来配置他的选项(说明)。我必须安装gconf-editor软件包才能编辑执行的Guake选项sudo apt-get install gconf-editor。然后执行gconf-editor,浏览/apps/guake/general并找到未标记的use_vte_titles键。关闭编辑器。下次执行Guake时,自动重新命名功能被禁用。

现在,所有选项卡都已命名Terminal,如果我重命名一个,它仍将所有会话命名为相同的名称。将此键添加到Guake首选项对话框中会很有帮助。但是这个解决方案仍然有效。


是否有可能做它用gsettings在命令行?
2014年

1
@qed应该像这样工作:gconftool --set /apps/guake/general/use_vte_titles --type boolean true
chsymann

4

在命令行上:

vim〜/ .gconf / apps / guake / general /%gconf.xml

应该有一个类似这样的条目:

<entry name="use_vte_titles" mtime="1404143215" type="bool" value="true"/>

只需将其更改为:

<entry name="use_vte_titles" mtime="1404143215" type="bool" value="false"/>

保存文件并重新启动guake。


1

考虑简单地缩短终端标题。该算法在中定义.bashrc,如您所见,Guake将尊重终端名称:

我的.bashrc包含以下内容:

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PROMPT_COMMAND='PS1X=$(pwd | sed -r "s-^$HOME/--;s-^$HOME-~-;s-^(.[^/]*)/.*/-\1/.../-")'
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}"'$PS1X'"\a\]$PS1"
    ;;
*)
    ;;
esac

不再显示主机名,仅显示第一个和最后一个路径组件:

$HOME -> ~

$HOME/some/deep/sub/dir -> some/.../dir

/usr/local/deeply/inside/there -> /usr/.../there

使用此设置,选项卡按钮足够狭窄,但仍包含有用的信息。

也可以看看:

/programming//q/3497885/946850

/unix//q/26844/19205


这是一个不错的选择,但我的问题是“即使手动重命名,每个标签页的名称也可以始终相同吗?”。用我的方法可以做到。
注销

0

是的,我也遇到了这个问题,我很惊讶它仍然出现在最新的Guake版本中。在最新版本中,我认为可以将端子命名为Terminal 1Terminal 2等等,但也无济于事。

在过去的几年中,我使用了一个简单的脚本.zshrc(我使用Zsh终端,但是您可以在Bash中应用类似的内容)。

function chpwd {
 if [ -e ".guakerc" ]; then
   setupguake
 else
    guake -r ${PWD##*/}
 fi
}

function setupguake() {
  . $(pwd)/.guakerc

  if ((${+name})); then
    guake -r ${name}
  fi
}

从本质上讲,它会监视任何目录更改(通过chpwd),如果.guakerc找到文件,它将运行它。在该文件中,您可以设置guake标题和许多其他内容。

如果没有.guakerc找到文件(最常见的情况),它将文件夹名称设置为终端名称。因此,如果您在一个名为的文件夹中/home/username/Development/social-app,它将把终端重命名为social-app

希望能帮助到你!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.