عن المشروع
mTerm هو محاكي طرفية أصلي لنظام macOS مكتوب بلغة Swift، ويستخدم AppKit للنافذة ومُصيِّر Metal لعرض الطرفية. يضع نفسه كبديل لـ iTerm2 للمطورين الذين يريدون إحساسًا أصليًا بنظام Mac، وعرضًا بمستوى GPU، ومجموعة ميزات صغيرة عمدًا بدلاً من سطح تفضيلات كبير. يتجنب صراحةً ميزات الذكاء الاصطناعي، وحسابات السحابة، وإعادة التفكير في الصدفة.
العرض ومحاكاة الطرفية
عرض الطرفية مُصيَّر عبر Metal مع أطلس حروف مُحاذى للبكسل، بهدف إبقاء النص حادًا بجميع الأحجام دون ضبابية ترشيح GPU. يستخدم الخط المائل والعريض الوجوه الحقيقية للخط بدلاً من الميل المُصنَّع، مع عروض تقدم متطابقة بحيث تظل الأعمدة متوازية. يتم دعم سمات التسطير، والخافت، والمعكوس، بما في ذلك الرموز التي تُطفئها. إعادة التحجيم تعيد تدفق المخزن المؤقت: الأسطر الملفوفة تلتحم وتنقسم من جديد عند العرض الجديد، ويظهر قراءة لحجم الشبكة أثناء السحب.
التوافق يستهدف xterm-256color لأدوات مثل vim وneovim وhtop وfzf وless وgit pagers. يدعم الألوان الحقيقية 24-بت، والشاشة البديلة، ومناطق التمرير (DECSTBM)، ورسم خطوط DEC، والإخراج المتزامن (DEC 2026). تغطي تقارير الماوس ترميز SGR (1006) والترميزات القديمة للنقر والسحب والحركة والعجلة، مع الضغط على ⇧ للاختيار بدلاً من ذلك. يتم تضمين لصق بين قوسين، وأحداث التركيز، وتقارير موضع الجهاز/المؤشر. تحتل الأحرف الآسيوية الشرقية وعريضة العرض عمودين، وتُدمج علامات التركيب في الحرف السابق.
علامات التبويب والتنقل ومركز الأوامر
تحتوي نافذة AppKit على شريط جانبي بعلامات تبويب يمكن سحبه لإعادة الترتيب، ويدعم ملء الشاشة، ويستعيد الجلسات (علامات التبويب، وأدلتها، وملفات التعريف). يفتح ⌘K مركزًا فوق كل علامة تبويب في كل نافذة وكل أمر في شريط القوائم، مرتبة في قائمة واحدة. تعرض صفوف علامات التبويب الفهرس، وحالة التشغيل، والعنوان، والدليل، والعملية الأمامية. الاستعلام الفارغ يعرض علامات التبويب الأخيرة مع تحديد السابقة، لذا ⌘K ⏎ يعيد التبديل؛ ⌘⌫ يغلق علامة التبويب المميزة. الإجراءات قابلة للبحث بالكلمات التي قد يصل بها المستخدمون، مثل "cls" لمسح الشاشة أو "blurry" لوزن الحد، مما يفتح الإعدادات مع حلقة التركيز على ذلك التحكم.
تكامل الصدفة وtmux
تكامل الصدفة لـ zsh وbash وfish يستخدم OSC 133 لإضافة علامات موجه في الميزاب ملونة حسب رمز الخروج والقفز بين الموجّهات بـ ⌘↑ / ⌘↓. لا يعدل ملفات rc الخاصة بالمستخدم؛ بدلاً من ذلك، تحصل كل صدفة على غلاف (ZDOTDIR لـ zsh، و--rcfile لـ bash، ومقتطف vendor_conf.d لـ fish) يقوم بتحميل ملفات بدء التشغيل الحقيقية أولاً. وضع تحكم tmux مدعوم: تشغيل tmux -CC يحول كل نافذة tmux إلى علامة تبويب mTerm حقيقية، مع تعيين ⌘T و⌘W لإنشاء نافذة tmux وإغلاقها، وتتبع إعادة التسمية وتبديل النوافذ في كلا الاتجاهين. تعرض علامة التبويب الجزء النشط من نافذتها. جلسة واحدة في كل مرة؛ الفصل ينهي علامات التبويب.
الروابط والمشغلات وملفات التعريف
⌘-نقرة تفتح الروابط: عناوين URL تذهب إلى المتصفح ومسارات الملفات تُكشف في Finder. لا تتميز الروابط بصريًا حتى يمر المؤشر فوقها مع الضغط على ⌘، عندما يأخذ الرابط لون السمة المميز وتسطيرًا ويصبح المؤشر يدًا. فقط المسارات الموجودة على القرص تُعرض، وعنوان URL الممتد عبر صفوف يُعامل كعنوان واحد. يمكن لـ ⌘-نقرة أيضًا نسخ نص مميز بلون، مثل كود مضمّن أو مسودة مقتبسة، مع تأكيد يعرض النص وعدد الأحرف.
تجمع المشغلات بين تعبير نمطي وإجراء: تمييز، أو إعادة تلوين، أو تسطير، أو فتح كـ URL، أو كشف في Finder، أو تشغيل أمر مع $1 كمطابقة. تُحرر في الإعدادات مع مُختبِر مضمّن وتُخزن في triggers.json. تُجرَّب قواعد المستخدم قبل قاعدتين مدمجتين لعناوين URL ومسارات الملفات، والتي يمكن تعطيلها لكن لا يمكن تحريرها. تحدد ملفات التعريف أمرًا مسمى، ودليل بدء، وبيئة، وسمة اختيارية مثبتة، مخزنة كملف JSON واحد لكل منها تحت profiles/ بحيث يمكن مشاركتها أو الالتزام بها. تُفتح عبر ملف > علامة تبويب جديدة مع ملف تعريف أو ⌘⌥1–9، و⌘T يستخدم ملف التعريف الافتراضي.
الإعدادات والسمات والتكوين
تحتوي نافذة الإعدادات على أجزاء المظهر، وملفات التعريف، والمشغلات، والعامة، والإشعارات، مع حقل بحث يجد عناصر التحكم بالاسم أو بالوصف العام. تشمل السمات Tomorrow Night وSolarized (فاتح وداكن) وNord وDracula وGruvbox Dark وسمات mTerm الخاصة الفاتحة والداكنة، مع استيراد ملفات iTerm2 .itermcolors والتبديل التلقائي بين الفاتح والداكن. عائلة الخط، والحجم، ووزن الحد، وتباعد الأسطر (1.0×–2.0×، الافتراضي 1.15×) قابلة للتعديل مباشرة. عمق السجل قابل للتكوين من 1k إلى 100k سطر مع عرض التكلفة لكل علامة تبويب. تغطي إشعارات macOS أحداث انتباه الطرفية (الجرس، OSC 9 / OSC 777). تأكيد الإغلاق للعمليات الأمامية الجارية وتأكيد مسح الشاشة قابلان للتبديل. يقع التكوين تحت ~/Library/Application Support/mTerm/ في settings.json وstate.json وprofiles/*.json وtriggers.json؛ لا يوجد ملف تكوين منفصل في v1.
التثبيت والحالة
التثبيت عبر Homebrew cask (brew install --cask d0x2a/tap/mterm)، أو DMG عام موقّع وموثوق، أو البناء من المصدر مع macOS 14+ وXcode 15+ (أو أدوات سطر أوامر Swift 5.10+) باستخدام swift run -c release mTerm. المشروع في v1.3.1 ويذكر أن جميع العناصر في تعريف الإنجاز SPEC.md قد شُحنت. يذكر أن أهداف ذاكرة السجل قد تحققت مع مساحة إضافية بينما يقل الإنتاجية عن الرقم الطموح في المواصفات؛ كلا القياسين والأداة موثقة في docs/BENCHMARKS.md. الترخيص MIT، حقوق الطبع والنشر Dox2A Labs LLC.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.