18 Punkte von GN⁺ 2024-12-27 | 4 Kommentare | Auf WhatsApp teilen
  • Ein schneller, funktionsreicher plattformübergreifender Terminal-Emulator. Unterstützt native UI auf Mac/Linux und nutzt GPU-Beschleunigung
  • Bietet flexible Tastenkürzel, verschiedene Farbthemen und zahlreiche Konfigurationsoptionen

Hauptmerkmale

1. Native Binärdatei

  • Läuft auf macOS und Linux als native Anwendung
    • macOS: Die GUI ist in Swift geschrieben und verwendet AppKit und SwiftUI
    • Linux: Die GUI ist in Zig geschrieben und verwendet die GTK4-C-API
  • Nutzt plattformspezifische UI-Komponenten, um Funktionen wie Tabs, Split-Views und Fehlermeldungen umzusetzen
  • Unterstützt Standard-Tastatur- und Maus-Shortcuts entsprechend den Konventionen der jeweiligen Plattform
  • Integration plattformspezifischer Funktionen
    • macOS: Quick Look, Force Touch, Secure-Input-API, Wiederherstellung des Fensterstatus nach einem Neustart usw.

2. Vielfältige Terminal- und Anwendungsfunktionen

  • Terminal-Funktionen:
    • Unterstützt das Kitty-Grafikprotokoll, Benachrichtigungen für Hell-/Dunkelmodus, Hyperlinks usw.
    • Ermöglicht mehr Funktionen in Terminal-Anwendungen wie Neovim, Zellij usw.
  • Anwendungsfunktionen:
    • Native Tabs, Split-Views, Dropdown-Terminal für macOS, Umschalten zwischen Hell-/Dunkelmodus usw.

3. Leistung

  • Ghostty wurde mit dem Ziel entwickelt, eine Leistung auf dem Niveau der schnellsten Terminal-Emulatoren zu erreichen
  • Ist bei verschiedenen Leistungskennzahlen konkurrenzfähig und so optimiert, dass es sich nicht langsam anfühlt
    • Zum Beispiel: Startgeschwindigkeit, Scroll-Geschwindigkeit, IO-Durchsatz, Bildrate usw.
  • Frühe Nutzer bewerten die Leistungsverbesserungen von Ghostty als im täglichen Einsatz deutlich spürbar

Architektur

  • Der Kern von Ghostty ist libghostty, eine plattformübergreifende C-ABI-kompatible Bibliothek
    • Sie stellt Terminal-Emulation, Font-Verarbeitung und Rendering bereit
  • Die GUI-Anwendungen basieren auf libghostty
    • macOS-App: in Swift geschrieben, nutzt AppKit und SwiftUI
    • Linux-App: in Zig geschrieben, nutzt die GTK4-C-API
  • Durch die klare Trennung zwischen Terminal-Emulation und GUI kann ein Ökosystem entstehen, in dem verschiedene Terminal-Emulator-Projekte libghostty nutzen
  • Zukünftiges Ziel:
    • Die API von libghostty stabilisieren und als eigenständige Bibliothek veröffentlichen

4 Kommentare

 
ahwjdekf 2025-02-03

Bei mir kam es während der Nutzung von wezterm zu Rucklern, aber nach dem Wechsel zu ghostty ist es gut benutzbar geworden. Vielleicht liegt es daran, dass mein MB Pro schon etwas älter ist, aber ghostty fühlt sich deutlich flüssiger und leichter an.

 
ndrgrd 2024-12-28

Ich überlege, es auszuprobieren, aber gibt es unter Linux gegenüber Wezterm irgendwelche besonders herausragenden Vorteile?

 
redreamer 2024-12-28

Wie bei WezTerm lässt sich Koreanisch gut eintippen. Besonders auf dem Mac gefällt mir, dass koreanische Schriftarten je nach NFC-Zusammensetzung unterschiedlich dargestellt werden. Es wirkt, als ob die Wez-Updates ins Stocken geraten sind.

 
GN⁺ 2024-12-27
Hacker-News-Kommentare
  • Ghostty ist das Ergebnis von zwei Jahren leidenschaftlicher Arbeit, und hoffentlich spüren viele Menschen beim Verwenden die Liebe und Mühe, die darin steckt. Ghostty behauptet nicht, anderen Terminals überlegen zu sein; sie haben jeweils unterschiedliche Designziele und Kompromisse. Es gibt viele großartige Terminals wie Kitty, WezTerm, Foot, iTerm2 und Rio.

  • Ghostty ist schnell und leistungsstark, insbesondere wenn viele Debugging-Informationen ausgegeben werden, sodass das Terminal nicht zum Flaschenhals wird. Das macht auf Entwicklungssystemen einen großen Unterschied.

  • Ghostty besteht aus sehr gut geschriebenem Zig-Code mit präzisem Text-Rendering und allen nötigen Funktionen. Ein Teil des Codes wird in Bun.stringWidth von Bun verwendet.

  • Es wird gefragt, ob Ghostty ein Session-/Workspace-Konzept hat; möglicherweise könnte es etwas aus der Integrationsweise von Alacritty und tmux lernen.

  • Ghostty hat ein verstecktes Feature namens "quake mode", das sich unter macOS mit einer bestimmten Tastenbelegung einrichten lässt. Es gibt keine Option, die Standardhöhe des "quick terminal"-Fensters festzulegen, aber man kann die Größe durch Ziehen des Fensters anpassen.

  • Nach dem Ausprobieren mehrerer Terminal-Emulator-Tools fiel die Wahl auf Wave Terminal; außerdem wird eine Liste von Tools bereitgestellt, die unter macOS und Linux verfügbar sind. Warp wird nicht verwendet, weil es ein VC-Produkt ist.

  • Eine Community-Website, die beim Erstellen der Ghostty-Konfiguration hilft, ist nützlich.

  • Ghostty ist hochwertige Open-Source-Software, die kürzlich veröffentlicht wurde und Hoffnung auf eine Zukunft ohne Abos macht. Danke an Mitchell.

  • Der Ausdruck "platform-native UI" wurde zunächst skeptisch gesehen, war aber interessant, da unter Linux GTK und unter macOS SwiftUI verwendet wird. Neue Terminal-Emulatoren auszuprobieren macht immer Spaß. Schade ist nur, dass Bitmap-Schriften nicht unterstützt werden.

  • Ein Blogbeitrag, der einen Teil der Magie von Ghostty erklärt, ist interessant.