XScreenSaver

شاشة التوقف Xscreensaver "GLMatrix"

XScreenSaver عبارة عن مجموعة مجانية ومفتوحة المصدر تضم أكثر من 240 شاشة توقف [ 3 ] لأنظمة التشغيل Unix و macOS و iOS و Android . تم إنشاؤها بواسطة جيمي زاوينسكي في عام 1992، مع إصدارات جديدة تصدر عدة مرات في السنة. [ 4 ]

المنصات

تستخدم أنظمة التشغيل المجانية والمفتوحة المصدر الشبيهة بنظام يونكس، والتي تعمل بنظام X Window ( مثل لينكس وفري بي إس دي )، برنامج XScreenSaver بشكل شبه حصري. تحتوي هذه الأنظمة على عدة حزم: حزمة واحدة لإطار عمل حفظ الشاشة وقفلها، وحزمتان أو أكثر لأنماط العرض، موزعة بشكل غير منتظم إلى حد ما. [ 5 ]

في أنظمة ماكنتوش ، يعمل XScreenSaver مع شاشة التوقف المدمجة في نظام macOS . أما في أنظمة iOS ، فهو تطبيق مستقل يُمكنه تشغيل أي من أوضاع العرض بملء الشاشة. وفي أنظمة أندرويد ، تعمل أوضاع عرض XScreenSaver إما كشاشات توقف عادية (والتي يُطلق عليها أندرويد أحيانًا اسم "أحلام اليقظة") أو كخلفيات متحركة .

لا توجد نسخة رسمية لنظام التشغيل مايكروسوفت ويندوز ، ويُثني المطور أي شخص عن نقلها إلى أنظمة أخرى. يعتبر المؤلف مايكروسوفت "شركة ذات ممارسات تجارية شرسة، استغلالية، ومناهضة للمنافسة" [ 6 ] ، ويقول إنه، بصفته أحد المؤلفين الأصليين لمتصفح نتسكيب نافيغيتور ، يكنّ "ضغينة شخصية" لمايكروسوفت بسبب سلوكها خلال حرب المتصفحات الأولى .

هندسة البرمجيات

يتولى برنامج XScreenSaver مهمة اكتشاف حالة الخمول، وإطفاء الشاشة وقفلها، وتشغيل أوضاع العرض. كل وضع من أوضاع العرض (المسماة "hacks" نسبةً إلى الاستخدام التاريخي " display hack ") عبارة عن برنامج مستقل.

تُعدّ هذه ميزة أمان مهمة، حيث يتم عزل أوضاع العرض في عملية منفصلة عن إطار عمل قفل الشاشة. وهذا يعني أن خطأً برمجيًا في أحد أوضاع العرض الرسومية لا يُمكنه اختراق قفل الشاشة نفسه (على سبيل المثال، لن يؤدي تعطل أحد أوضاع العرض إلى فتح الشاشة).

وهذا يعني أيضاً أنه يمكن كتابة شاشة توقف تابعة لجهة خارجية بأي لغة أو باستخدام أي مكتبة رسومات، طالما أنها قادرة على العرض على نافذة خارجية.

لأسباب تاريخية وأخرى تتعلق بسهولة النقل، فإن جميع الاختراقات المضمنة مكتوبة بلغة ANSI C. يستخدم حوالي نصفها واجهة برمجة تطبيقات X11 ، ويستخدم النصف الآخر واجهة برمجة تطبيقات OpenGL 1.3.

بدلاً من استنساخ قاعدة التعليمات البرمجية وإعادة كتابة الاختراقات لاستهداف منصات مختلفة، يحتوي XScreenSaver على عدد من طبقات التوافق.

  • لتمكين تشغيل التعديلات القائمة على X11 بشكل أصلي على نظامي macOS و iOS، يحتوي XScreenSaver على تطبيق كامل لواجهة برمجة تطبيقات X11 مبني على Cocoa ("jwxyz"). [ 7 ]
  • لتمكين تشغيل التعديلات القائمة على OpenGL 1.3 بشكل أصلي على أنظمة iOS وAndroid، التي تدعم OpenGL ES فقط ، يحتوي XScreenSaver على تطبيق لواجهة برمجة تطبيقات OpenGL 1.3 مبني على OpenGL ES 1.0 ("jwzgles"). [ 7 ]
  • وللسماح بتشغيل التعديلات القائمة على X11 بشكل أصلي على نظامي التشغيل iOS و Android، يحتوي XScreenSaver أيضًا على تطبيق لواجهة برمجة تطبيقات X11 من حيث OpenGL ES 1.0. [ 8 ]

مراجع

  1. "سجل التغييرات" . تم الاطلاع عليه بتاريخ 7 أبريل 2026 .
  2. "قائمة حقوق الطبع والنشر لبرنامج Debian XScreenSaver" . 24 ديسمبر 2020. تم الاطلاع عليه بتاريخ 24 ديسمبر 2020 .
  3. "قائمة شاشات التوقف المضمنة في مجموعة XScreenSaver" . 8 ديسمبر 2020. تم الاطلاع عليه بتاريخ 24 ديسمبر 2020 .
  4. "تاريخ إصدارات XScreenSaver" . 8 ديسمبر 2020. تم الاطلاع عليه بتاريخ 24 ديسمبر 2020 .
  5. "قائمة حزم برنامج XScreenSaver لنظام Debian" . 24 ديسمبر 2020. تم الاطلاع عليه بتاريخ 24 ديسمبر 2020 .
  6. "XScreenSaver: إصدار ويندوز" . www.jwz.org . تم الاطلاع عليه بتاريخ 24 ديسمبر 2020 .
  7. 1 2 "منشور مدونة jwz.org حول منفذ iOS" . 19 يونيو 2012. تم الاطلاع عليه في 24 ديسمبر 2020 .
  8. "منشور مدونة jwz.org حول منفذ Android" . 23 مايو 2016. تم الاطلاع عليه في 24 ديسمبر 2020 .