web-dev-qa-db-fra.com

Autorenaming ennuyeux à Guake

J'adore le terminal déroulant Guake, mais le problème est agaçant. Quand j'utilise beaucoup d'onglets, je déteste quand les noms d'onglets sont renommés chaque fois que j'exécute une commande ou que je navigue dans l'un d'entre eux. Je veux renommer n'importe quel onglet et conserver le nom dans toutes les sessions. Par exemple, lorsque j'utilise Midnight Commander et que j'entre dans un dossier de chemin long, l'onglet se développe et c'est horrible. Le nom de l'onglet mc [user@machine_name]:/weird/long/infinite/path apparaît lorsque je navigue dans le dossier /weird/long/infinite/path.

Puis-je toujours avoir le même nom pour chaque onglet, même en le renommant manuellement?

13
logoff

J'ai trouvé un moyen de désactiver le renommage ennuyeux. J'ai trouvé dans mon script guake Python (version 0.4.3-3) aux lignes 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())

Comme le montre le script, la touche /general/use_vte_titles empêche la création automatique de nom. C'est Guake utilise GConf pour configurer ses options ( explication ). Je devais installer paquet gconf-editor pour éditer les options de Guake exécutant Sudo apt-get install gconf-editor. Puis j’ai exécuté gconf-editor, j’ai navigué jusqu’à la touche /apps/guake/general et non marqué use_vte_titles. Fermé l'éditeur. La prochaine fois que j'ai exécuté Guake, la fonctionnalité de changement de nom automatique était désactivée.

Maintenant, tous les onglets sont nommés Terminal et si j'en renomme un, cela continue à nommer toute la session du même nom. Il serait utile d’ajouter cette clé dans le dialogue des préférences de Guake. Mais cette solution a quand même fonctionné.

8
logoff

juste courir

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

et redémarrez votre terminal,

facile comme bonjour (3.14)

18
Jomo Lumina

Sur la ligne de commande:

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

Il devrait y avoir une entrée comme celle-ci:

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

Il suffit de le changer pour:

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

Enregistrez le fichier et redémarrez guake.

4
hazmat

Envisagez simplement de raccourcir le titre du terminal. L'algorithme est défini dans .bashrc, le titre du terminal sera respecté par Guake comme vous l'avez remarqué:

Mon .bashrc contient les éléments suivants:

# 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

Le nom d'hôte n'est plus affiché, et seuls les premier et dernier composants du chemin sont affichés:

$HOME -> ~

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

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

Avec ce paramètre, les boutons d’onglet sont suffisamment étroits mais contiennent quand même des informations utiles.

Voir également:

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

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

1
krlmlr

Oui, j'ai eu ce problème aussi et je suis tellement surpris qu'il apparaisse toujours dans les versions récentes de Guake. Dans la dernière version, je pense qu’il existe une option permettant de nommer les terminaux sous la forme Terminal 1, Terminal 2 etc., ce qui n’aide en rien non plus.

Ces dernières années, j'ai utilisé un script simple dans mon .zshrc (j'utilise un terminal Zsh, mais vous pouvez appliquer quelque chose de similaire dans Bash).

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

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

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

Essentiellement, cela surveille tout changement de répertoire (via chpwd) et si un fichier .guakerc est trouvé, il l'exécute. Dans ce fichier, vous pouvez configurer le titre de guake et bien d’autres choses.

Si aucun fichier .guakerc n'est trouvé (le cas le plus courant), il ne fait que définir le nom du dossier comme nom du terminal. Donc, si vous êtes dans un dossier nommé /home/username/Development/social-app, le terminal sera renommé social-app.

J'espère que ça aide!

0
vasilakisfil