- libghostty C API पर आधारित न्यूनतम फीचर वाला टर्मिनल डेमो, जो एक ही C फ़ाइल और Raylib rendering का उपयोग करके चलता है
- libghostty-vt की क्षमताओं को सत्यापित करने के लिए बनाई गई संरचना, जो GPU rendering के बजाय 2D graphics आधारित टर्मिनल implementation दिखाती है
- text reflow, 24-bit color, Unicode handling, mouse·keyboard protocols जैसी वास्तविक टर्मिनल-स्तरीय सुविधाओं का समर्थन करता है
- Kitty Graphics Protocol और OSC clipboard·title setting जैसी कुछ सुविधाएँ अभी लागू नहीं हैं, और Windows support भी शामिल नहीं है
- libghostty के core का उपयोग करके विभिन्न applications को अपना GUI या renderer जोड़ने की extensibility प्रदान करता है
Ghostling का अवलोकन
- Ghostling एक न्यूनतम फीचर वाला टर्मिनल डेमो प्रोजेक्ट है, जो libghostty C API पर आधारित है और एक single C file से बना उदाहरण है
- यह Raylib का उपयोग window management और rendering के लिए करता है, और single-threaded संरचना में चलता है
- libghostty-vt की flexibility दिखाने के लिए यह direct GPU rendering के बजाय 2D graphics renderer का उपयोग करता है
- यह पूरी तरह रोज़मर्रा के उपयोग वाला टर्मिनल नहीं, बल्कि minimum viable terminal implementation का उदाहरण है, इसलिए कोड की सटीकता का सत्यापन सीमित है
Libghostty परिचय
- Libghostty, Ghostty के core से निकाली गई एक embedded terminal emulation library है, जो C और Zig API प्रदान करती है
- libghostty-vt एक dependency-free library है, जो VT sequence parsing, cursor position, style, scrollback जैसे terminal state management को संभालती है
- इसमें rendering या window management code शामिल नहीं है, इसलिए इसका उपयोग करने वाले applications को इन्हें स्वयं implement करना होगा
- Ghostty GUI में सत्यापित codebase पर आधारित होकर यह accurate और complete terminal emulation, SIMD-optimized parsing, advanced Unicode support, efficient memory use, और extensive test-based stability प्रदान करता है
मुख्य सुविधाएँ
- text reflow सहित window resizing का समर्थन
- 24-bit color और 256-color palette, bold·italic·inverse styles का समर्थन
- Unicode और multi-codepoint grapheme handling (लेकिन shaping·layout नहीं)
- Shift, Ctrl, Alt, Super जैसे modifier key input का समर्थन
- Kitty keyboard protocol, mouse tracking (X10, normal, button, any-event), कई mouse reporting formats (SGR, URxvt, UTF8, X10) का समर्थन
- scroll wheel और drag scrollbar, focus reporting (CSI I / CSI O) का समर्थन
- Ghostty GUI के समान स्तर की अधिकांश terminal emulation सुविधाएँ शामिल
नियोजित सुविधाएँ
- वे सुविधाएँ जो अभी libghostty-vt में पूरी तरह expose नहीं हुई हैं
-
Kitty Graphics Protocol
-
OSC clipboard support
- OSC title setting
- Windows support libghostty-vt में संभव है, लेकिन Ghostling में अभी लागू नहीं है
- भविष्य में जैसे-जैसे नई अतिरिक्त सुविधाएँ मिलेंगी, यह सूची बढ़ाई जाएगी
जो सुविधाएँ प्रदान नहीं की जातीं
- libghostty टर्मिनल emulation core पर केंद्रित है, इसलिए इसमें GUI layer की सुविधाएँ शामिल नहीं हैं
- tabs, multi-window, split screen, session management, config file, GUI, search UI आदि शामिल नहीं हैं
- ऐसी सुविधाएँ libghostty का उपयोग करने वाले applications को स्वयं implement करनी होंगी
- Ghostling, न्यूनतम उदाहरण बनाए रखने के लिए, जानबूझकर इन सुविधाओं को शामिल नहीं करता
Build करने का तरीका
FAQ
-
Zig की जगह C क्यों इस्तेमाल किया गया
-
libghostty-vt** पूरा Zig API देता है, लेकिन** C API अधिक व्यापक रूप से इस्तेमाल होता है और अधिक सुलभ है
- Ghostling, न्यूनतम C API usage example दिखाने के लिए एक डेमो है
-
Rust जैसी अन्य भाषाओं का समर्थन
- libghostty-vt C API के माध्यम से zero dependency के साथ चल सकता है
- अधिकांश भाषाओं में इसे thin binding के साथ उपयोग किया जा सकता है, और official bindings C और Zig पर केंद्रित हैं
- उम्मीद है कि community विभिन्न language bindings विकसित और maintain करेगी
-
क्या Raylib अनिवार्य है
- नहीं. libghostty पर renderer या GUI framework को लेकर कोई बाध्यता नहीं है
- यह WASM environment में भी स्वतंत्र रूप से चल सकता है
- यह render state API प्रदान करता है, इसलिए Metal·OpenGL·Raylib जैसे किसी भी renderer के साथ जोड़ा जा सकता है
-
CMake और Raylib क्यों चुने गए
- यह किसी विशेष तकनीक पर निर्भर नहीं है, और CMake एक सामान्य-purpose build system है जिसे व्यापक support प्राप्त है
-
Raylib** एक सरल और आसानी से configure होने वाली** 2D window·rendering library है
- प्रोजेक्ट का उद्देश्य तकनीकी चयन से अधिक libghostty के उपयोग का उदाहरण दिखाना है
अभी कोई टिप्पणी नहीं है.