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

13

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

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

выйти
источник

Ответы:

18

просто беги

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

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

легкий как пирог (3.14)

Джомо Люмина
источник
8

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

выйти
источник
Возможно ли это сделать с gsettingsпомощью командной строки?
Qed
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.

HazMat
источник
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

krlmlr
источник
Это хороший вариант, но мой вопрос был «Могу ли я всегда иметь одно и то же имя для каждой вкладки, даже когда переименовываю ее вручную?». Это может быть достигнуто с моим подходом.
выход
0

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

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

vasilakisfil
источник