سؤال

أريد أن أجعل مدير نافذة في أي من هذه اللغات (ويفضل أن يكون روبي). ليس لدي أي فكرة بصراحة من أين أبدأ إلا أنني سأحتاج إلى نوع من الوحدة النمطية X للتحميل. لذلك إذا كان لدى أي شخص أدنى فكرة ، فسيكون ذلك رائعًا إذا تمكنت من توجيهني في الاتجاه الصحيح. شكرًا

هل كانت مفيدة؟

المحلول

XCB ، يستخدم واجهة برمجة تطبيقات Gen التالية لـ X تنسيق XML لتحديد بروتوكولات X وإنشاء روابط لغة محددة مع برنامج نصي. إنه مشابه في مفهوم SWIG باستثناء أنه بدلاً من وصف واجهات برمجة التطبيقات C ، فإنه يصف بروتوكولات X.

حاليًا ، توجد روابط لـ C و Python. لن يكون منفذ روبي نظريًا مسألة كتابة مترجم من لغة تعريف بروتوكول XML إلى Ruby. يمكن أن يلف رمز Ruby الذي تم إنشاؤه إما واجهة برمجة تطبيقات C أو تنفيذ بروتوكول السلك في روبي نقي (أوصي الأخير).

يبدو أن واجهة برمجة التطبيقات لها بعض المزايا الكامنة على XLIB Legacy المتعلقة بحظر I/O. كما أن لديها منفذ Windows ، بشكل غريب بما فيه الكفاية.

http://xcb.freedesktop.org/

http://xcb.freedesktop.org//xcbpythonbinding/

http://xcb.freedesktop.org//win32port/

نصائح أخرى

هل نظرت إلى http://ruby-xlib-wrap.sourceforge.net/. يبدو أن هذا يوفر روابط روبي لـ Xlib.

قد ترغب في تجربة استخدام Xwindows قبل محاولة كتابة مدير نافذة.

لماذا لا تبدأ بسطح المكتب ، حتى تتمكن من الحصول على بعض الخبرة.

ملحوظة:

1) لا يتم كتابة Awesome في LUA ، فهو مكتوب في C. يستخدم LUA كواجهة البرمجة النصية/التكوين.

2) Qtile و Samurai-X هما Wm's مكتوبة في Python.

3) خفية هو WM الذي يستخدم Ruby كلغة البرمجة النصية.

QTILE و SCAND كلاهما مديري النوافذ البلاط.

ليس Ruby أو Python ، لكن مديري النوافذ يتم كتابة هؤلاء أيضًا بلغات رائعة: رائع (لوا) و Xmonad (هاسكل). ربما يمكنك نظرة خاطفة على الداخلية ومعرفة كيف يعملون.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top