J'ai installé fish (1.23.1) pour étudier ce problème. Il s'avère que fish ne met à jour le titre que si $TERM
est l'un des éléments suivants : xterm
, screen
, nxterm
, rxvt
. Sinon, il n'appelle jamais la fonction fish_title
fonction.
La valeur par défaut du terminal est xterm-256color
et avant Mac OS X Lion 10.7 c'était xterm-color
ni l'un ni l'autre n'est reconnu par les poissons. Fish est simplement déraisonnablement conservateur quant aux valeurs terminfo qu'il pense supporter cette caractéristique. fish_title
n'est pas appelé pour les xterm*
des variantes, par exemple.
Pour contourner cette limitation du poisson, vous pouvez configurer $TERM
a xterm
. Le moyen le plus simple d'y parvenir est d'utiliser un paramètre de préférence du terminal :
Terminal > Préférences > Paramètres > [profil] > Avancé > Déclarer le terminal en tant que
Sélectionnez xterm
dans le menu contextuel. Cette préférence contrôle la valeur de $TERM
(c'est tout ce qu'il fait).
Notez que l'utilisation de xterm
au lieu de la valeur par défaut du terminal peut désactiver certaines fonctionnalités du terminal ou, avant Lion, provoquer un comportement erroné en raison d'incompatibilités entre le logiciel xterm
terminfo description et les anciennes versions de Terminal.
Par conséquent, si le poisson n'est pas votre Shell par défaut, vous pouvez vouloir changer seulement $TERM
lorsque vous invoquez fish. Par exemple, vous pouvez invoquer fish avec TERM=xterm fish
à partir d'un Shell, ou vous pouvez créer un profil de paramètres de terminal personnalisé juste pour exécuter fish (vous pouvez définir la préférence "Exécuter la commande" pour invoquer fish, de sorte que la création d'une nouvelle fenêtre de terminal ou d'un onglet avec ce profil lancera automatiquement fish).
Ou, si vous n'avez pas peur de modifier le poisson : une fois que vous l'avez installé via MacPorts ou Fink, vous avez les sources sur votre machine et vous pouvez étendre sa liste de valeurs $TERM reconnues, ou même mettre à jour le code pour permettre des suffixes sur les valeurs reconnues, par exemple, il devrait au moins permettre toutes les valeurs qui commencent par xterm
o screen
. Sinon, cela ne fonctionnera même pas avec des produits courants. screen
variantes. Et si vous le faites, merci de contribuer au projet Fish.
1 votes
Veuillez poster votre code qui définit le fish_title.
0 votes
Ceci définira le titre de la fenêtre dans bash et zsh :
printf '\e]2;Custom Window Title\a'
Cela fonctionne-t-il chez les poissons ?0 votes
Pour comparer, essayez de le faire en utilisant fish dans xterm et voyez si cela fonctionne. Une autre chose à vérifier est la valeur de $TERM. Dans Lion, Terminal a changé la valeur par défaut de "xterm-color" à "xterm-256color". Peut-être que fish dépend de $TERM pour décider s'il faut réellement émettre la séquence d'échappement pour définir le titre.