Auto-nomeação irritante em Guake


13

Eu amo o terminal suspenso Guake, mas ele tem um problema irritante. Quando uso muitas guias, odeio quando os nomes das guias são renomeados toda vez que executo um comando ou navego em uma delas. Quero renomear qualquer guia e manter o nome em todas as sessões. Por exemplo, quando eu uso o Midnight Commander e entro em uma pasta de caminho longo, a guia se expande e é horrível. Eu vejo o nome da guia mc [user@machine_name]:/weird/long/infinite/pathquando navego para a /weird/long/infinite/pathpasta.

Posso ter sempre o mesmo nome para cada guia, mesmo quando renomeá-lo manualmente?

Respostas:


18

apenas corra

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

e reinicie seu terminal,

fácil como torta (3.14)


8

Eu encontrei uma maneira de desativar a renomeação irritante. Eu encontrei no meu script Python guake (na versão 0.4.3-3) nas linhas 996 a 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())

Como o script mostra, /general/use_vte_titleskey impede o recurso de nomeação automática. É Guake usa o GConf para configurar suas opções ( explicação ). Eu tive que instalar o pacote gconf-editor para editar as opções do Guake em execução sudo apt-get install gconf-editor. Então eu executei gconf-editor, procurei /apps/guake/generale use_vte_titleschave não marcada . Fechado o editor. Na próxima vez que executei o Guake, o recurso de nomeação automática foi desativado.

Agora, todas as guias são nomeadas Terminale, se eu mudar o nome de uma, ainda assim nomeará toda a sessão com o mesmo nome. Seria útil adicionar essa chave ao diálogo de preferências do Guake. Mas esta solução funcionou de qualquer maneira.


É possível fazer isso gsettingsna linha de comando?
qed

1
@qed deve funcionar assim:gconftool --set /apps/guake/general/use_vte_titles --type boolean true
chsymann

4

Na linha de comando:

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

Deve haver uma entrada parecida com esta:

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

Apenas mude para:

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

Salve o arquivo e reinicie o guake.


1

Considere simplesmente encurtar o título do terminal. O algoritmo é definido em .bashrc, o título do terminal será respeitado pelo Guake como você observou:

Meu .bashrccontém o seguinte:

# 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

O nome do host não é mais mostrado e apenas o primeiro e o último componente do caminho são mostrados:

$HOME -> ~

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

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

Com essa configuração, os botões da guia são estreitos o suficiente, mas ainda contêm informações úteis.

Veja também:

/programming//q/3497885/946850

/unix//q/26844/19205


É uma boa opção, mas minha pergunta foi 'Posso sempre ter o mesmo nome para cada guia, mesmo quando for renomeada manualmente?'. Isso pode ser alcançado com minha abordagem.
logoff

0

Sim, eu tive esse problema também e estou tão surpreso que ele ainda aparece nas versões recentes do Guake. Na versão mais recente, acho que há uma opção para nomear os terminais como etc Terminal 1, o Terminal 2que também não ajuda muito.

Nos últimos anos, empreguei um script simples no meu .zshrc(uso o terminal Zsh, mas você pode aplicar algo semelhante no Bash).

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

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

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

Essencialmente, o que isso faz, monitora qualquer alteração de diretório (por chpwd) e, se um .guakercarquivo for encontrado, ele será executado. Dentro desse arquivo, você pode configurar o título do guake e muitas outras coisas.

Se nenhum .guakercarquivo for encontrado (o caso mais comum), ele apenas definirá o nome da pasta como o nome do terminal. Portanto, se você estiver em uma pasta chamada, /home/username/Development/social-appele renomeará o terminal como social-app.

Espero que ajude!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.