تم إصدار المحاكي الطرفي Ghostty 1.0.0، باستخدام وحدة معالجة الرسومات لتسريع عرض المحتوى. يتم تطوير المشروع بواسطة ميتشل هاشيموتو، المؤسس المشارك لشركة HashiCorp ومبتكر مشاريع مثل Vagrant وTerraform. يحاول مؤلف Ghostty تجسيد ثلاث صفات في المحاكي الطرفي الجديد - الأداء العالي والوظائف الشاملة والواجهة التي تبدو أصلية لكل منصة مدعومة. كود المشروع مكتوب بلغة Zig ويتم توزيعه بموجب ترخيص MIT. يتم إنشاء التجميعات الجاهزة لنظامي التشغيل Linux وmacOS.
لبناء الواجهة في تجميعات Linux، يتم استخدام مكتبة GTK، ولنظام التشغيل macOS - إطار عمل SwiftUI، الذي يسمح باستخدام مربعات الحوار القياسية، والقوائم لكل نظام أساسي، وواجهة لتغيير الإعدادات، وتصميم النوافذ. لتسريع عملية العرض، يستخدم Linux واجهة برمجة تطبيقات الرسومات OpenGL، ويستخدم macOS Metal. تم أيضًا تحسين الأداء باستخدام مؤشر ترابط منفصل للإدخال/الإخراج.
في الاختبارات، تبين أن Ghostty أسرع بأربع مرات من محاكيات iTerm وKitty الطرفية، وTerminal.app - أسرع بمرتين عند عرض محتويات ملف كبير، على سبيل المثال، باستخدام الأمر "cat big_file.txt" . عند مقارنته بـ Alacritty، كان أداء Ghostty هو نفسه تقريبًا، لكن Alacritty يتخلف عن Ghostty من حيث الوظيفة.
يمكن للجهاز عرض الرموز التعبيرية والارتباطات التشعبية والرموز المعقدة والأحرف المركبة (دمج عدة أحرف في حرف واحد، على سبيل المثال، "æ"). يمكن استخدام بروتوكول Kitty لعرض الصور مباشرة في الجهاز. لتضمين وظيفة Ghostty في تطبيقات أخرى، يجري تطوير مكتبة libghostty، وهي متوافقة مع المشاريع في لغة C وتسمح لك بدمج محاكي طرفي سريعًا في منتجاتك.
تدعم الواجهة السمات الداكنة والفاتحة، وتقسيم النافذة لعرض جلسات متعددة في وقت واحد، والتبديل بين الجلسات باستخدام علامات التبويب. تتوافق المحطة مع معيار ECMA-4، ولكنها تدعم أيضًا الامتدادات غير القياسية وتسلسلات الهروب، مثل تلك التي تقدمها Xterm.
المصدر: opennet.ru
