- तेज़ और फीचर-समृद्ध क्रॉस-प्लेटफ़ॉर्म टर्मिनल एम्युलेटर। Mac/Linux पर native UI सपोर्ट करता है और GPU acceleration का उपयोग करता है
- flexible keybinding, विभिन्न color themes, और कई configuration options प्रदान करता है
मुख्य विशेषताएँ
1. Native binary
- macOS और Linux पर native application के रूप में काम करता है
- macOS: GUI Swift में लिखा गया है और AppKit तथा SwiftUI का उपयोग करता है
- Linux: GUI Zig में लिखा गया है और GTK4 C API का उपयोग करता है
- platform-specific UI components का उपयोग करके tabs, split panes, error messages जैसी सुविधाएँ लागू करता है
- standard keyboard और mouse shortcuts को platform conventions के अनुसार सपोर्ट करता है
- platform-specific unique features का integration
- macOS: Quick Look, Force Touch, secure input API, restart के समय window state restore आदि
2. विभिन्न terminal और application features
- terminal features:
- Kitty graphics protocol, light/dark mode notifications, hyperlinks आदि का समर्थन
- Neovim, Zellij जैसे terminal applications में अधिक फीचर्स का उपयोग संभव
- application features:
- native tabs, split panes, macOS के लिए dropdown terminal, light/dark mode switching आदि
3. प्रदर्शन
- Ghostty को सबसे तेज़ terminal emulators के बराबर प्रदर्शन के लक्ष्य के साथ डिज़ाइन किया गया है
- विभिन्न performance metrics में प्रतिस्पर्धी है, और इसे धीमा महसूस न हो ऐसा optimize किया गया है
- उदाहरण: startup speed, scrolling speed, IO throughput, frame rate आदि
- शुरुआती उपयोगकर्ताओं का कहना है कि Ghostty का performance improvement रोज़मर्रा के उपयोग में स्पष्ट रूप से महसूस होता है
आर्किटेक्चर
- Ghostty का core, cross-platform C-ABI compatible library
libghosttyहै- terminal emulation, font handling, rendering features प्रदान करता है
- GUI applications,
libghosttyके आधार पर काम करते हैं- macOS app: Swift में लिखा गया, AppKit और SwiftUI का उपयोग
- Linux app: Zig में लिखा गया, GTK4 C API का उपयोग
- terminal emulation और GUI के बीच स्पष्ट separation के कारण अलग-अलग terminal emulator projects के लिए
libghosttyका उपयोग करने वाला ecosystem बन सकता है - भविष्य के लक्ष्य:
libghosttyAPI को स्थिर करना और इसे standalone library के रूप में जारी करना
4 टिप्पणियां
मेरे environment में
weztermइस्तेमाल करते समय lag होता था, लेकिनghosttyपर बदलने के बाद यह काफ़ी usable हो गया। हो सकता है कि ऐसा मेरे पुरानेmb proकी वजह से हो, लेकिनghosttyकहीं ज़्यादा smooth और हल्का लगता है।इसे आज़माने के बारे में सोच रहा हूँ, लेकिन Linux के हिसाब से क्या Wezterm की तुलना में इसका कोई खास फ़ायदा है?
Wezterm की तरह इसमें भी हिंदी/कोरियाई टाइपिंग अच्छी तरह काम करती है। खासकर Mac पर NFC संयोजन के अनुसार कोरियाई फ़ॉन्ट का अलग दिखना भी अच्छा है। लगता है Wez का अपडेट रुक-सा गया है।
Hacker News की राय
Ghostty पिछले 2 वर्षों के जुनूनी काम का नतीजा है, और उम्मीद है कि इसे इस्तेमाल करने वाले लोग उसमें लगा प्यार और मेहनत महसूस करेंगे। Ghostty यह दावा नहीं करता कि वह दूसरे टर्मिनलों से बेहतर है; सबके अपने अलग design goals और trade-offs हैं। Kitty, WezTerm, Foot, iTerm2, Rio जैसे कई बेहतरीन टर्मिनल मौजूद हैं.
Ghostty तेज़ है और इसकी performance शानदार है, खासकर तब जब बहुत सारा debugging information आउटपुट हो रहा हो और टर्मिनल bottleneck न बने। यह development system पर बड़ा फर्क लाता है.
Ghostty में text rendering सटीक है और यह बहुत अच्छे से लिखे गए Zig code से बना है, जिसमें ज़रूरी सभी features हैं।
Bun.stringWidthमें इसका कुछ code इस्तेमाल किया गया है.जिज्ञासा है कि क्या Ghostty में Session/Workspace का concept है; लगता है कि Alacritty और tmux के integration तरीके से कुछ सीखा जा सकता है.
Ghostty में
quake modeनाम का एक छिपा हुआ feature है, जिसे macOS पर एक खास key binding के साथ सेट किया जा सकता है।quick terminalविंडो की default height सेट करने का विकल्प नहीं है, लेकिन विंडो को drag करके समायोजित किया जा सकता है.कई terminal emulator tools आज़माने के बाद wave terminal चुना गया, और MacOS तथा Linux पर इस्तेमाल किए जा सकने वाले tools की सूची दी गई। Warp एक VC product है, इसलिए उसका उपयोग नहीं किया जाता.
Ghostty configuration बनाने में मदद करने वाली community site उपयोगी है.
Ghostty हाल में जारी हुआ एक high-quality open source software है, जो subscription-रहित भविष्य के लिए उम्मीद देता है। Mitchell को धन्यवाद.
शुरू में
platform-native UIजैसी अभिव्यक्ति को लेकर संदेह था, लेकिन Linux पर GTK और MacOS पर SwiftUI इस्तेमाल होने की बात दिलचस्प लगी। नए terminal emulator आज़माना हमेशा मज़ेदार होता है। Bitmap fonts का support न होना थोड़ा खलता है.Ghostty के कुछ जादू को समझाने वाली blog post दिलचस्प है.