Auto-denominazione fastidiosa in Guake


13

Adoro il terminale a discesa Guake, ma ha un problema fastidioso. Quando uso molte schede, odio quando i nomi delle schede vengono rinominati ogni volta che eseguo un comando o navigo in uno di essi. Voglio rinominare qualsiasi scheda e mantenere il nome in tutte le sessioni. Ad esempio, quando uso Midnight Commander e entro in una cartella di percorso lungo, la scheda si espande ed è orribile. Vedo il nome della scheda mc [user@machine_name]:/weird/long/infinite/pathquando navigo nella /weird/long/infinite/pathcartella.

Posso avere sempre lo stesso nome per ogni scheda, anche quando la ridenominazione manualmente?

Risposte:


18

corri

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

e riavvia il tuo terminale,

facile come una torta (3.14)


8

Ho trovato un modo per disabilitare il fastidioso ridenominazione. Ho trovato nel mio script Python falso (nella versione 0.4.3-3) nelle righe da 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())

Come mostra lo script, /general/use_vte_titleskey impedisce la funzione di denominazione automatica. È Guake che usa GConf per configurare le sue opzioni ( spiegazione ). Ho dovuto installare il pacchetto gconf-editor per modificare l'esecuzione delle opzioni di Guake sudo apt-get install gconf-editor. Quindi ho eseguito gconf-editor, ho cercato /apps/guake/generale la use_vte_titleschiave non contrassegnata . Chiuso l'editor. La prossima volta che ho eseguito Guake la funzione di denominazione automatica è stata disabilitata.

Ora, tutte le schede sono denominate Terminale, se lo rinomino, viene comunque denominata tutta la sessione con lo stesso nome. Sarebbe utile aggiungere questa chiave nel dialogo delle preferenze di Guake. Ma questa soluzione ha funzionato comunque.


È possibile farlo con gsettingsdalla riga di comando?
qed

1
@qed dovrebbe funzionare così:gconftool --set /apps/guake/general/use_vte_titles --type boolean true
chsymann,

4

Sulla riga di comando:

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

Dovrebbe esserci una voce simile a questa:

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

Basta cambiarlo in:

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

Salvare il file e riavviare guake.


1

Considera semplicemente di abbreviare il titolo del terminale. L'algoritmo è definito in .bashrc, il titolo del terminale sarà rispettato da Guake come avrai notato:

Il mio .bashrccontiene quanto segue:

# 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

Il nome host non viene più visualizzato e viene mostrato solo il primo e l'ultimo componente del percorso:

$HOME -> ~

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

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

Con questa impostazione, i pulsanti della scheda sono abbastanza stretti ma contengono ancora informazioni utili.

Guarda anche:

/programming//q/3497885/946850

/unix//q/26844/19205


È una buona opzione, ma la mia domanda era "Posso avere sempre lo stesso nome per ogni scheda, anche quando la rinomino manualmente?". Può essere raggiunto con il mio approccio.
disconnessione il

0

Sì, ho avuto anche questo problema e sono così sorpreso che appare ancora nelle recenti versioni di Guake. Nell'ultima versione penso che ci sia un'opzione per nominare i terminali come Terminal 1, Terminal 2ecc. , Che non aiuta molto.

Negli ultimi anni ho utilizzato un semplice script nel mio .zshrc(utilizzo il terminale Zsh, ma puoi applicare qualcosa di simile in Bash).

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

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

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

Essenzialmente ciò che fa, controlla qualsiasi cambiamento di directory (attraverso chpwd) e se .guakercviene trovato un file lo esegue. All'interno di quel file è possibile impostare il titolo falso e molte altre cose.

Se non .guakercviene trovato alcun file (il caso più comune), imposta semplicemente il nome della cartella come nome del terminale. Quindi, se ci si trova in una cartella denominata /home/username/Development/social-app, rinominerà il terminale come social-app.

Spero che sia d'aiuto!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.