Ghostty hat bei mir inzwischen Tilix als Go-To-Terminal-App abgelöst, die Neuerungen von Ghostty 1.4 habe ich euch erst letzte Woche vorgestellt. Einen Punkt habe ich dort nur kurz angerissen: Eine Menüleiste mit Einstellungsdialogen gibt es in Ghostty nicht. Wer eine andere Schrift oder ein neues Farbschema möchte, der bearbeitet die Konfiguration von Hand. Abhilfe schafft ghostty-config, das jetzt in Version 2.0 erschienen ist.
Konfiguration nur per Textdatei
Konfiguriert wird Ghostty über die Datei ~/.config/ghostty/config, in die ihr Zeilen wie font-size = 12 schreibt. Welche Optionen es überhaupt gibt, verrät euch Ghostty selbst. Der folgende Befehl listet alle Einstellungen samt Erklärung auf. Bei Ghostty 1.4.0 kommen dabei 211 Optionen und gut 4.300 Zeilen Text zusammen, auf Englisch versteht sich. Viel Spaß beim Durchblättern.
ghostty +show-config --default --docs | less
Auf der Website sieht es kaum anders aus. Die Optionsreferenz ist eine sehr lange Seite, und die Entwickler empfehlen selbst, die Suchfunktion des Browsers zu nutzen. Immerhin ist man sich des Problems bewusst und verspricht für die Zukunft „a more user-friendly way to view and organize these options“. Bis es so weit ist, springen andere Projekte in die Bresche, eines davon ist ghostty-config.
Was ist ghostty-config?
ghostty-config stammt von Vitruves, so der Name des Entwicklerkontos auf GitHub und Reddit. Das Programm ist in Go geschrieben, steht unter der MIT-Lizenz und läuft unter Linux und macOS. Ein eigenes Fenster öffnet es nicht, die Oberfläche läuft direkt im Terminal. Themes, Schriften, Fenster, Eingabe, Sitzung und Erweiterungen liegen dort auf eigenen Reitern, dazu kommt ein Bereich für das Werkzeug selbst.
In Ghostty und Kitty zeichnet ghostty-config seine Oberfläche als Bilder, möglich macht das das Kitty-Grafikprotokoll. Darüber bringen auch Dateimanager wie Tfm ihre Bildvorschau ins Terminal. Deswegen wirkt das Ganze eher wie eine Desktop-Anwendung als wie ein klassisches Terminalprogramm. In anderen Terminals und in Tmux nimmt das Programm normale Textzeichen. Die Oberfläche ist komplett englisch, eine Übersetzung gibt es bisher nicht.
Drei Layouts in Version 2.0
Version 2.0.0 ist am 1. November erschienen, gut einen Monat nach dem Start des Projekts auf GitHub. Vieles darin stammt laut Vitruves aus den Kommentaren zur letzten Ankündigung auf Reddit. Die größte Neuerung sind zwei zusätzliche Layouts. Beim ersten Start fragt euch ghostty-config, wie ihr arbeiten wollt, später wechselt ihr mit F4 oder über Tool › Interface › Layout.

Atelier ist die bisherige Oberfläche und weiterhin voreingestellt. Links stehen die Bereiche, rechts eine Wand aus Kacheln für insgesamt 1.071 Themes. Jede Kachel zeigt eine kleine Vorschau mit Git-Ausgabe, Farbpalette und Kontrastwert. Mit den Pfeiltasten wandert ihr durch die Wand, ohne dass sich etwas ändert. Erst ein Enter schreibt das Theme in die Konfiguration und lässt Ghostty neu laden.

819 dieser Themes liefert Ghostty 1.4 selbst mit, die übrigen 252 hat Vitruves in Familien mit Namen wie Albers, Kandinsky, Wabi-sabi oder Jung sortiert. Wer ein Theme nur ausprobieren möchte, drückt Strg+T. Dann färbt sich lediglich das aktuelle Terminal um, die Konfiguration bleibt unangetastet. Mit Strg+F setzt ihr ein Theme auf die Liste eurer Favoriten.
Ähnlich arbeitet der Reiter Fonts. Dort wählt ihr Schriftfamilie, Schnitt und Größe aus und seht zu jeder Schrift eine Probe, auch mit leicht verwechselbaren Zeichen wie 0 und O oder 1, l und I. Zeilenhöhe, Ligaturen und Zeichenabstand stellt ihr per Schieberegler ein. Fehlt euch eine passende Schrift, bietet ghostty-config 70 Monospace-Familien an, die es mit einem Enter herunterlädt.

Palette setzt dagegen auf ein einziges Suchfeld für Themes, Schriften, Einstellungen, Tastenkürzel und Befehle. Tippt ihr etwa „opacity“, listet ghostty-config alle passenden Einstellungen auf. Die markierte lässt sich gleich in der Liste ändern, daneben seht ihr die Zeile, die in der Konfiguration landet. Wisst ihr, was ihr sucht, kommt ihr so am schnellsten ans Ziel. F3 blendet zudem Ghosttys eigene Erklärung zur Option ein.

Guided richtet sich an alle, die sich nicht durch jede Option scrollen möchten. Das Layout führt in sechs Schritten durch Farben, Schrift, Fenster, Cursor sowie Kopieren und Einfügen und stellt dabei schlichte Fragen, etwa ob ihr ein helles oder dunkles Terminal möchtet. Zu jedem Schritt gibt es große Vorschauen. Wer doch mehr einstellen will, springt über einen Link zu allen Optionen des jeweiligen Themas.

Daneben ist ghostty-config flotter geworden. Bis zum ersten Bild vergehen laut Changelog 42 statt 103 Millisekunden, die Oberfläche zeichnet zwei- bis sechsmal so schnell. Die neuen Optionen von Ghostty 1.4 kennt das Programm ebenfalls, bietet sie aber nur an, wenn auch wirklich Version 1.4 installiert ist. Wer noch mit Ghostty 1.3 arbeitet, kann ghostty-config also weiterhin nutzen.
Was ghostty-config in die Datei schreibt
Bei einem Werkzeug, das in meiner Konfiguration herumschreibt, will ich allerdings genau wissen, was es dort anstellt. ghostty-config ändert jede Einstellung in einer eigenen Zeile und lässt Kommentare stehen. Vor der ersten Änderung legt es eine Sicherung unter ~/.config/ghostty-config/backups/ an. Nach jedem Schreiben prüft es die Datei mit ghostty +validate-config und zeigt Fehler samt Zeilennummer an.
In einer Fedora-VM habe ich das Ganze mit einem neuen Theme und etwas Transparenz ausprobiert. Die ersten vier Zeilen standen schon vorher in der Datei, die letzten beiden hat ghostty-config ergänzt, jeweils mit einer Leerzeile davor. So bleibt die Konfiguration lesbar, und ihr könnt sie jederzeit wieder von Hand bearbeiten, falls euch das lieber ist.
# Ghostty
font-size = 12
window-width = 100
window-height = 30
theme = TokyoNight Moon
background-opacity = 0.85Unter Linux bittet ghostty-config Ghostty per D-Bus, die Konfiguration neu zu laden. Das klappte im Test ohne Zutun, Ghostty quittierte jede Änderung mit „Konfiguration wurde neu geladen“. Voraussetzung sind laut Anleitung gdbus und eine Ghostty-Instanz, die alle Fenster bündelt, sonst ladet ihr Ghostty selbst neu. Beim Beenden kopiert ghostty-config übrigens seine 252 eigenen Themes nach ~/.config/ghostty/themes.

Im Reddit-Thread zur neuen Version fragte jemand, warum man das Theme in Ghostty und nicht in der Zsh setzen sollte. Die Antwort aus der Community: Prompt und Skripte nutzen meist Farbnamen wie Rot oder Grün, den genauen Farbton bestimmt das Terminal. Wechselt ihr das Theme in Ghostty, passt sich alles an, ohne dass ihr die Farben in der Shell neu festlegen müsst.
Installation
Installiert wird ghostty-config mit einem Einzeiler. Das Skript lädt die passende Programmdatei für euer System herunter, prüft ihre Prüfsumme und legt sie unter ~/.local/bin ab. Wer Skripte aus dem Netz nicht blind an die Shell weiterreicht, lädt die Datei vorher herunter und liest sie. Viel mehr als die beschriebenen Schritte steckt nicht drin, gezählt wird laut Kommentar nur der Abruf des Skripts.
curl -fsSL https://ghostty-config.vitruves.workers.dev/install.sh | sh
ghostty-configFür ein Update führt ihr denselben Befehl noch einmal aus. Höchstens einmal pro Stunde schaut ghostty-config zudem selbst auf GitHub nach einer neuen Version, abschalten lässt sich das unter F4. Pakete für die Distributionen gibt es bisher nicht. Das AUR-Paket ghostty-config-cli gehört übrigens zu einem anderen Projekt mit ähnlicher Idee. Ghostty selbst kam in meiner Fedora-VM aus dem COPR-Repository scottames/ghostty.
Alles in allem ist ghostty-config in meinen Augen das Werkzeug, das Ghostty bislang gefehlt hat. Einen Einstellungsdialog ersetzt es nicht, doch ein neues Theme oder eine andere Schrift setzt ihr damit per Pfeiltasten und Enter, und die Konfiguration bleibt eine lesbare Textdatei. Für ein Projekt, das gut einen Monat alt ist, ist das ziemlich rund. Wie richtet ihr euer Terminal ein, per Hand oder mit einem Werkzeug?




Schreibe einen Kommentar