Files
claude-projects/limbach/memory/ghostty-miniterm-einbindung.md
T
2026-06-21 19:27:21 +02:00

2.2 KiB

name, description, metadata
name description metadata
ghostty-miniterm-einbindung Prüfung, ob Ghostty/libghostty statt SwiftTerm in den Mac-App-Builder eingebunden werden kann
node_type type originSessionId
memory project c054beab-7d0a-44f2-992f-ee3f9304358e

Projekt __mac-cluade-app-builder (in /home/marcuh/claude-projects/) baut pro Aufruf eine eigenständige macOS-.app mit eigener Bundle-ID → eigenes Dock-Icon + eigener ⌘-Tab-Eintrag. Ein gemeinsames Binary (Sources/MiniTerm/main.swift) liest pro Bundle Info.plist-Keys (MTCommand, MTWorkingDirectory, MTFontSize, MTFontName, MTWindowTitle); make-app.sh assembliert das Bundle. Nutzt heute SwiftTerm (SPM-Dependency). Funktioniert.

Frage: SwiftTerm durch Ghostty ersetzen, weil Terminal besser (GPU-Rendering, Ligaturen, vollere Kompatibilität).

Befund:

  • Ghostty.app als Ganzes hilft nicht — eine gemeinsame App löst die Pro-Projekt-Identität (Dock/⌘-Tab) nicht (gleiche --class-Grenze wie im README). Lösung bleibt: pro Projekt eigenes Bundle.
  • Richtiger Weg: libghostty (Zig-Kern, C-API) statt SwiftTerm in die eigene Swift-Hülle linken — analog zur jetzigen Konstruktion. Offizielles Minimalbeispiel als Vorlage: ghostling (github.com/ghostty-org/ghostling).
  • Genutzte Funktionsfläche ist winzig (Prozess in Login-Shell starten, rendern, Font, Shift+Enter-Key-Monitor, Copy/Paste) → laufendes API-Risiko gering, obwohl libghostty-Embedding-API offiziell noch nicht stabil ist.
  • Einmaliger Aufwand = Integration: Zig-Toolchain auf den Mac, libghostty aus Quellbaum bauen, C-Header + lib manuell in die Swift-Hülle linken. Kein fertiges SPM-Paket wie SwiftTerm.
  • Zig = einzelnes self-contained Binary (Tarball, kein Installer), aber bestimmte von Ghostty gepinnte Version nötig. Gehört auf den Mac, nicht auf Linux (Build geht nur unter macOS, Xcode CLT/AppKit).
  • Bestehende Mac-Tools reichen sonst: swift (Xcode CLT), sips/iconutil/codesign (macOS built-in). Nur Zig ist neu.
  • Bundle-Hülle, make-app.sh und Shift+Enter-Key-Monitor bleiben unverändert; SwiftTerm-Variante bleibt als Rückfallpunkt funktionsfähig.

Stand 2026-06-21: Marcus tendiert dazu, es zu probieren; Umsetzung auf dem Mac noch nicht begonnen.