Renommage automatique ennuyeux à Guake


13

J'adore le terminal déroulant Guake, mais il a un problème ennuyeux. Lorsque j'utilise plusieurs onglets, je déteste que les noms d'onglet soient renommés chaque fois que j'exécute une commande ou que je navigue dans l'un d'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 à long chemin, l'onglet se développe et c'est horrible. Je vois le nom de l'onglet mc [user@machine_name]:/weird/long/infinite/pathlorsque je navigue vers le /weird/long/infinite/pathdossier.

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

Réponses:


18

il suffit de courir

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

et redémarrez votre terminal,

simple comme bonjour (3.14)


8

J'ai trouvé un moyen de désactiver le changement de nom ennuyeux. J'ai trouvé dans mon script guake Python (dans la 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 script le montre, la /general/use_vte_titlestouche empêche la fonction de changement de nom automatique. C'est Guake qui utilise GConf pour configurer ses options ( explication ). J'ai dû installer le paquet gconf-editor pour éditer les options de Guake en cours d'exécution sudo apt-get install gconf-editor. Ensuite, j'ai exécuté gconf-editor, j'ai parcouru/apps/guake/generaluse_vte_titles clé non marquée . Ferme l'éditeur. La prochaine fois que j'exécuterais Guake, la fonction de changement de nom automatique était désactivée.

Maintenant, tous les onglets sont nommés Terminalet si j'en renomme un, il nomme toujours toute la session avec le 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é.


Est-il possible de le faire avec gsettingssur la ligne de commande?
qed

1
@qed devrait fonctionner comme ça:gconftool --set /apps/guake/general/use_vte_titles --type boolean true
chsymann

4

Sur la ligne de commande:

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

Il devrait y avoir une entrée quelque chose comme ceci:

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

Changez-le simplement en:

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

Enregistrez le fichier et redémarrez guake.


1

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 .bashrccontient 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 le premier et le dernier composant de chemin d'accès sont affichés:

$HOME -> ~

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

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

Avec ce paramètre, les boutons de tabulation sont suffisamment étroits mais contiennent toujours des informations utiles.

Voir également:

/programming//q/3497885/946850

/unix//q/26844/19205


C'est une bonne option, mais ma question était «Puis-je toujours avoir le même nom pour chaque onglet, même en le renommant manuellement?». Cela peut être réalisé avec mon approche.
déconnexion le

0

Oui, j'ai également eu ce problème 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 y a une option pour nommer les terminaux Terminal 1,Terminal 2 etc., ce qui n'aide pas beaucoup non plus.

Au cours des dernières années, j'ai utilisé un script simple dans mon .zshrc(j'utilise le 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 .guakercfichier est trouvé, il l'exécute. Dans ce fichier, vous pouvez configurer le titre de guake et bien d'autres choses.

Si aucun .guakercfichier n'est trouvé (le cas le plus courant), il définit simplement le nom du dossier comme nom de terminal. Donc, si vous êtes dans un dossier nommé, /home/username/Development/social-appil renommera le terminal en social-app.

J'espère que cela aide!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.