- Hızlı ve zengin özelliklere sahip bir çapraz platform terminal emülatörü. Mac/Linux'ta yerel UI desteği sunuyor ve GPU hızlandırma kullanıyor
- Esnek tuş atamaları, çeşitli renk temaları ve çok sayıda yapılandırma seçeneği sunuyor
Başlıca özellikler
1. Yerel ikili
- macOS ve Linux'ta yerel uygulama olarak çalışıyor
- macOS: GUI, Swift ile yazılmıştır ve AppKit ile SwiftUI kullanır
- Linux: GUI, Zig ile yazılmıştır ve GTK4 C API kullanır
- Sekmeler, bölünmüş pencereler, hata mesajları gibi işlevleri platforma özgü UI bileşenleriyle uygular
- Standart klavye ve fare kısayollarını platform teamüllerine uygun şekilde destekler
- Platforma özgü benzersiz özelliklerle entegredir
- macOS: Quick Look, Force Touch, güvenli giriş API'si, yeniden başlatma sonrası pencere durumunu geri yükleme vb.
2. Çeşitli terminal ve uygulama özellikleri
- Terminal özellikleri:
- Kitty grafik protokolü, açık/koyu mod bildirimi, köprüler vb. desteklenir
- Neovim, Zellij gibi terminal uygulamalarında daha fazla özellikten yararlanılabilir
- Uygulama özellikleri:
- Yerel sekmeler, bölünmüş pencereler, macOS için açılır terminal, açık/koyu mod geçişi vb.
3. Performans
- Ghostty, en hızlı terminal emülatörleriyle aynı seviyede performansı hedefleyerek tasarlandı
- Çeşitli performans göstergelerinde rekabetçi olup yavaş hissettirmemek için optimize edildi
- Örn: açılış hızı, kaydırma hızı, IO işlem hacmi, kare hızı vb.
- İlk kullanıcılar, Ghostty'nin performans iyileştirmelerinin günlük kullanımda belirgin fark yarattığını değerlendiriyor
Mimari
- Ghostty'nin çekirdeği, çapraz platform C-ABI uyumlu bir kütüphane olan
libghostty'dir- Terminal emülasyonu, yazı tipi işleme ve render işlevleri sağlar
- GUI uygulamaları
libghosttytemelinde çalışır- macOS uygulaması: Swift ile yazılmış, AppKit ve SwiftUI kullanır
- Linux uygulaması: Zig ile yazılmış, GTK4 C API kullanır
- Terminal emülasyonu ile GUI arasındaki net ayrım sayesinde, çeşitli terminal emülatörü projelerinin
libghostty'den yararlanabildiği bir ekosistem oluşturulabilir - Gelecek hedefi:
libghosttyAPI'sini kararlı hale getirip bağımsız bir kütüphane olarak yayımlamak
4 yorum
Benim ortamımda
weztermkullanırken takılma oluyordu;ghosttyye geçince kullanılabilir hale geldi. Belki MB Pro’m artık eski olduğu içindir amaghosttyçok daha akıcı ve hafif hissettiriyor.Denemeyi düşünüyorum; Linux tarafında Wezterm'e kıyasla özellikle öne çıkan bir avantajı var mı?
Wezterm gibi Korece yazmak da iyi çalışıyor. Özellikle Mac'te NFC birleşimine göre Korece yazı tipinin farklı görünmesi de hoş. Wez güncellemeleri durmuş gibi görünüyor
Hacker News görüşleri
Ghostty, son 2 yıldaki tutkulu çalışmanın bir sonucu ve onu kullanan birçok kişinin içindeki sevgi ile emeği hissetmesi umuluyor. Ghostty, diğer terminallere kıyasla üstün olduğunu iddia etmiyor; her birinin farklı tasarım hedefleri ve ödünleşimleri var. Kitty, WezTerm, Foot, iTerm2, Rio gibi pek çok harika terminal mevcut.
Ghostty hızlı ve yüksek performanslı; özellikle çok fazla hata ayıklama bilgisi çıktısı verildiğinde terminal darboğaz haline gelmiyor. Geliştirme sistemlerinde büyük fark yaratıyor.
Ghostty, metin render etmesi doğru olan ve gereken tüm özelliklere sahip, çok iyi yazılmış Zig kodundan oluşuyor. Bun'ın
Bun.stringWidthiçinde kodun bir kısmı kullanılıyor.Ghostty'de Session/Workspace kavramı olup olmadığı merak ediliyor; Alacritty ile tmux'un entegrasyon biçiminden öğrenilecek şeyler var gibi görünüyor.
Ghostty'de "quake mode" adlı gizli bir özellik var ve macOS'ta belirli bir tuş atamasıyla ayarlanabiliyor. "quick terminal" penceresinin varsayılan yüksekliğini belirlemek için bir seçenek yok, ancak pencere sürüklenerek ayarlanabiliyor.
Birçok terminal emülatörü aracı denendikten sonra wave terminal seçilmiş ve MacOS ile Linux'ta kullanılabilecek araçların bir listesi paylaşılmış. Warp, bir VC ürünü olduğu için kullanılmıyor.
Ghostty yapılandırması oluşturmayı kolaylaştıran topluluk sitesi faydalı.
Ghostty, yakın zamanda çıkmış yüksek kaliteli bir açık kaynak yazılım ve aboneliksiz bir geleceğe dair umut veriyor. Mitchell'e teşekkür ediliyor.
"platform-native UI" ifadesine başta şüpheyle yaklaşılsa da Linux'ta GTK, MacOS'ta SwiftUI kullanması ilginç bulunmuş. Yeni terminal emülatörleri denemek her zaman eğlenceli. Bitmap font desteğinin olmaması ise üzücü.
Ghostty'nin bazı sihrini açıklayan blog yazısı ilgi çekici.