Раздражающий автопереименование в Guake

Мне нравится выпадающий терминал Guake, но у него есть раздражающая проблема. Когда я использую много вкладок, я ненавижу, когда имена вкладок переименовываются каждый раз, когда я выполняю команду или перемещаюсь в одной из них. Я хочу переименовать любую вкладку и сохранить имя во всех сеансах. Например, когда я использую Midnight Commander и вхожу в папку с длинным путем, вкладка раскрывается, и это ужасно. Я вижу имя вкладки mc [user@machine_name]:/weird/long/infinite/path при переходе к папке /weird/long/infinite/path.

Могу ли я всегда иметь одно и то же имя для каждой вкладки, даже если переименовываю ее вручную?

13
задан 27 January 2016 в 17:29

5 ответов

просто запустите

gconftool-2 --set /apps/guake/general/use_vte_titles --type boolean false

и перезапустите свой терминал,

easy as pie (3.14)

0
ответ дан 27 January 2016 в 17:29

Я нашел способ отключить назойливое переименование. Я нашел в своем скрипте Python guake (в версии 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. Но это решение сработало в любом случае.

0
ответ дан 27 January 2016 в 17:29

Рассмотрим просто сокращение заголовка терминала. Алгоритм определен в .bashrc, название терминала будет уважаться Гуаке, как вы заметили:

My .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

[ 117] -> /usr/.../there

При этой настройке кнопки вкладок достаточно узкие, но все же содержат полезную информацию.

См. Также:

https://stackoverflow.com/q/3497885/946850

https://unix.stackexchange.com/ д / 26844/19205

0
ответ дан 27 January 2016 в 17:29

Да, у меня тоже была эта проблема, и я так удивлен, что она все еще появляется в последних версиях Guake. В последней версии, я думаю, есть возможность назвать терминалы Terminal 1, Terminal 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.

Надеюсь, это поможет!

0
ответ дан 27 January 2016 в 17:29

На командной строке:

энергия ~/.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"/>

Сохраните файл и перезапустите землетрясение.

4
ответ дан 27 January 2016 в 17:29

Другие вопросы по тегам:

Похожие вопросы: