Wie stelle ich den Titel von Terminal.app mit der Fischmuschel ein?

3546
Lorin Hochstein

Ich versuche die Fischmuschel unter Mac OS X, die mit MacPorts installiert wurde. Ich möchte, dass der Titel meines Terminalfensters mein aktuelles Verzeichnis ist. Derzeit sagt der Titel nur

Terminal - fish - 80x24 

Gemäß der Fischdokumentation fish_titlesollte die Standardfunktion dieses Verhalten bereitstellen. Es macht nicht das Richtige in Terminal.app, obwohl es mit iTerm funktioniert . Das Definieren meiner eigenen fish_title-Funktion behebt das Problem nicht.

Hat es jemandem gelingen, dies zum Laufen zu bringen?

2
Bitte posten Sie Ihren Code, der fish_title setzt. Chris Page vor 13 Jahren 1
Dadurch wird der Fenstertitel in bash und zsh festgelegt: `printf '\ e] 2; Benutzerdefinierter Fenstertitel \ a'` Funktioniert das bei Fischen? Chris Page vor 13 Jahren 0
Versuchen Sie es zum Vergleich mit Fisch in xterm und sehen Sie, ob es dort funktioniert. Eine weitere Sache ist der Wert von $ TERM. In Lion hat Terminal den Standardwert von "xterm-color" in "xterm-256color" geändert. Vielleicht hängt Fisch von $ TERM ab, um zu entscheiden, ob er tatsächlich die Escape-Sequenz ausgeben soll, um den Titel festzulegen. Chris Page vor 13 Jahren 0

3 Antworten auf die Frage

6
Dennis

Wenn Sie diese Frage fragten, wie Sie den Fenster- / Registerkartentitel in Fisch ändern können und die fish_titleFunktion für Sie funktioniert (siehe Antwort von Chris Page ), dann folgt ein Beispiel, in dem der Titel so festgelegt wird, dass eine gekürzte Version Ihres Arbeitsverzeichnisses verwendet wird.

$ funced fish_title  function fish_title if [ $_ = 'fish' ] echo (prompt_pwd) else echo $_ end end  $ funcsave fish_title 
2
Chris Page

Ich habe Fisch (1.23.1) installiert, um dies zu untersuchen. Es stellt sich heraus, dass Fische nur den Titel aktualisiert, wenn $TERMeine der folgenden ist: xterm, screen, nxterm, rxvt. Andernfalls wird die fish_titleFunktion nie aufgerufen .

Der Standardwert des Terminals ist xterm-256colorund vor Mac OS X Lion 10.7 war xterm-colorkeiner davon von Fisch erkannt. Fisch ist einfach unangemessen konservativ, welche terminfo-Werte diese Funktion unterstützen. fish_titlewird xterm*zum Beispiel für keine Varianten aufgerufen .

Arbeiten, um diese Einschränkung von Fischen, können Sie einstellen, $TERMauf xterm. Am einfachsten ist dies mit einer Einstellung für das Terminal:

Terminal> Voreinstellungen> Einstellungen> [Profil]> Erweitert> Terminal als deklarieren

Wählen Sie xtermim Popup-Menü. Diese Einstellung steuert den Wert von $TERM(das ist alles).

Beachten Sie, dass durch die Verwendung xtermvon Terminals Standardfunktionen möglicherweise einige Terminalfunktionen deaktiviert werden oder vor Lion Fehlverhalten aufgrund von Inkompatibilitäten zwischen der xtermTerminfo-Beschreibung und älteren Versionen von Terminal verursacht wird.

Wenn Fisch also nicht Ihre Standardshell ist, möchten Sie möglicherweise nur $TERMbeim Aufrufen von Fisch ändern . Sie können z. B. Fische TERM=xterm fishvon einer Shell aus aufrufen oder Sie können ein benutzerdefiniertes Profil für die Terminaleinstellungen nur für das Ausführen von Fischen erstellen (Sie können die Einstellung "Befehl ausführen" so einstellen, dass Fische aufgerufen werden. Das Erstellen eines neuen Terminalfensters oder einer neuen Registerkarte mit diesem Profil wird dadurch möglich Fisch automatisch laufen lassen).

Oder wenn Sie sich nicht scheuen, Fische zu modifizieren: Sobald Sie sie über MacPorts oder Fink installiert haben, befinden sich die Quellen auf Ihrem Computer, und Sie können die Liste der erkannten $ TERM-Werte erweitern oder sogar den Code aktualisieren Suffixe für die erkannten Werte berücksichtigen. Beispielsweise sollte es zumindest Werte zulassen, die mit xtermoder beginnen screen. Ansonsten funktioniert es nicht einmal mit gängigen screenVarianten. Und wenn Sie das tun, tragen Sie es bitte wieder in das Fischprojekt ein.

-1
deau

Es ist wahrscheinlich etwas mit der Konfiguration von zu tun Terminal.app. Ich verwende Terminal 2.0.2 unter Leopard, wodurch ich den Fenstertitel über die Voreinstellungen konfigurieren kann (siehe Einstellungen -> Fenster).

Es ist möglich, dass das Aktivieren des 'Shell-Befehlsnamens' das gewünschte Ergebnis liefert. Die Standardeinstellung ist nur, um die Fischumgebung Terminal - $process - $sizewahrscheinlich überreguliert anzuzeigen .

Da bin ich mir nicht sicher. In Bash kann der Titel beispielsweise nach den folgenden Anweisungen festgelegt werden: http://superuser.com/questions/79972/set-the-title-of-the-terminal-window-nach-the-stream-directory. Diese Anweisungen funktionieren jedoch nicht für die Fischmuschel. fideli vor 14 Jahren 0
In keiner der Voreinstellungen von Terminal wird die Escape-Sequenz zum Einstellen der Fenster- und Registerkartentitel überschrieben oder deaktiviert. Chris Page vor 13 Jahren 0