سؤال

من المشاريع المنزلية سوف يكون مدير نافذة بسيطة, لكن قبل أن نبدأ أريد أن أعرف بعض الأمور:

  • التي هي اللغة الأفضل أن تفعل هذا ؟
  • أين يمكن الحصول على بعض الموارد أن تتعلم ؟
هل كانت مفيدة؟

المحلول

واحد القرار المهم هو كيف أنت ذاهب للتحدث X server.يمكنك استخدام Xlib روابط اللغة التي تختارها ، أو يمكنك استخدام أعلى مستوى XCB الارتباطات.(إذا كنت مجنون, قد فتح المقبس X server مباشرة.)

أن تعرف كيف نافذة مدير يجب أن تتصرف, هناك نوعان من الوثائق التي تحدد الاتفاقيات والسياسات: EWMH و ICCCM1.تتفق هذه الوسائل الخاص بك نافذة مدير سوف تتصرف بشكل جيد في GNOME, KDE, XFCE و أي بيئة سطح المكتب التي تأتي جنبا إلى جنب ، على الرغم ببساطة تجاهلها هو بالتأكيد أسهل على المحاولة الأولى.

مدير النوافذ لا تحتاج إلى أن تكون ضخمة ومعقدة الكرة ج — نجاح مديري نافذة قد كتب في اللغات عالية المستوى مثل Lisp, هاسكل, والثعبان, وحتى بعض في ج ظلت صغيرة للقراءة. XMonad, مكتوب في هاسكل ، وبقي تحت 1000 خطوط لبعض الوقت. StumpWM (Common Lisp) ، DWM (ج) كلاهما الحد الأدنى تماما.كنت قد تكون قادرة على قراءة التعليمات البرمجية المصدر الخاصة بهم للحصول على بعض الإلهام كيفية تصميم WM.


1 إيليا Newren كتب:

لا تذهب و تقرأ تلك الأشياء.فهي حقا مملة.إذا كنت تفعل, سوف الارجح في نهاية المطاف اللحاق بالركب على النوم الخاصة بك بدلا من القرصنة على Metacity.;-)

تعال إلى التفكير في الأمر ، Metacity's الوثائق قليلا جيدة أن أقول عن كيف يتفاعل مع ويندوز وأي نوع من الخصائص الموسعة التي يدعمها.

نصائح أخرى

على tinywm في ج قد تكون مفيدة من أجل الشروع في العمل.

بينما لغة أخرى و مجموعة من المكتبات ممكن من الناحية التقنية, أعتقد أن أفضل لغة خيار أن يكون ج ، Xlib أو XCB المكتبات.معظم مديري نافذة X استخدام ذلك ، هناك بالفعل الكثير من الزخم هنا والنضج في هذه المكتبات.

بعض الوثائق من الفائدة:

  • Xlib دليل - يجب أن تقرأ على مستوى منخفض X البرمجة.
  • ICCCM - الاتفاقيات واجهات التواصل بين تطبيقات X و مدير النوافذ.
  • XCB - القرن ال21 استبدال Xlib.هذا هو قليلا أقل مستوى يجعل من أقل القرارات بالنسبة لك من Xlib.ما عرفت النتيجة المحتملة على أداء أفضل بسبب احتمال أكثر asynchronicity ، ولكن يجب أن أحذرك أنا لم أعمل معها.
  • التي هي اللغة الأفضل أن تفعل هذا ؟

    أيهما كنت أكثر ارتياحا.وهناك الكثير من الأمثلة الناجحة نافذة المديرين في العديد من اللغات المختلفة هناك. Qtile و xmonad هي أمثلة جيدة مكتوبة في بيثون و هاسكل على التوالي.

  • أين يمكن الحصول على بعض الموارد أن تتعلم ؟

    وأود أن تذهب ننظر في بعض من النافذة الحالية المديرين.هناك الكثير منهم لذلك على الأقل بعض منهم لديه رمز للقراءة.هنا قائمة شاملة من مديري نافذة Unix.

أعلم أن هذا الموضوع قديم ولكن كنت أتساءل نفس الشيء.هذه النافذة ودعا مدير i3 يبدو مثل فكرة جيدة لمعرفة من أيضا.

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