2 votes

Comment définir le titre de Terminal.app avec le poisson Shell ?

J'essaie le poisson Shell dans Mac OS X, installé à l'aide de MacPorts. J'aimerais que le titre de ma fenêtre Terminal soit mon répertoire actuel. Actuellement, le titre indique simplement

Terminal - fish - 80x24

Selon la documentation du poisson, la valeur par défaut fish_title devrait fournir ce comportement. Elle ne fait pas la bonne chose dans Terminal.app, bien qu'elle fonctionne avec iTerm . Définir ma propre fonction fish_title ne résout pas le problème.

Quelqu'un a-t-il réussi à faire fonctionner ce système ?

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.

10voto

Dennis Points 442

Si vous avez trouvé cette question en vous demandant comment changer le titre de la fenêtre/de l'onglet dans fish, et le fish_title fonctionne pour vous (voir La réponse de Chris Page ), alors voici un exemple qui configure le titre pour utiliser une version abrégée de votre répertoire de travail.

$ funced fish_title

function fish_title
    if [ $_ = 'fish' ]
        echo (prompt_pwd)
    else
        echo $_
    end
end

$ funcsave fish_title

3voto

Chris Page Points 3113

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.

-1voto

Jeff Widmer Points 1964

Il s'agit probablement d'un problème lié à la configuration de l'interface utilisateur. Terminal.app . J'utilise Terminal 2.0.2 sur Leopard qui me permet de configurer le titre de la fenêtre via les préférences (voir paramètres -> fenêtre).

Il est possible que l'activation de 'Shell nom de la commande' puisse obtenir le résultat souhaité. Par défaut, il suffit d'afficher Terminal - $process - $size prend probablement le dessus sur l'environnement des poissons.

0 votes

Je n'en suis pas sûr. Par exemple, dans bash, on peut définir le titre en suivant ces instructions : superuser.com/questions/79972/ . Mais ces instructions ne fonctionnent pas pour le poisson Shell.

0 votes

Aucune des préférences du terminal n'annule ou ne désactive la séquence d'échappement utilisée pour définir les titres des fenêtres et des onglets.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X