मैं एक बुनियादी हार्डवेयर-त्वरित विंडो प्रबंधक लिखना चाहता हूं, इसलिए मैं शुरू करने के तरीके पर कुछ दस्तावेज ढूंढ रहा हूं, लेकिन मैंने केवल this tutorial खोजने में कामयाब रहा है, जो क्लटर के पुराने संस्करण का उपयोग करता है और ' वर्तमान में उपलब्ध किसी भी संस्करण के साथ टी निर्माण। क्या ऐसा करने के लिए कोई अन्य अच्छा संसाधन है, या वैकल्पिक रूप से, वास्तव में बेयर-हड्डियों के स्रोत को देखने के लिए डब्ल्यूएम कंपोजिटिंग?एक कंपोजिटिंग डब्ल्यूएम लिखना शुरू कैसे करें?
उत्तर
मूल डेमो कंपोजिटिंग प्रबंधक xcompmgr था, जिसे मैं अंतर्निहित एक्स एक्सटेंशन को समझने के लिए अनुशंसा करता हूं।
यदि आप अपने हार्डवेयर-त्वरित प्रतिपादन करने के लिए ओपनजीएल का उपयोग कर रहे हैं, तो आपको उपयोगकर्ता स्पेस के माध्यम से विंडो सामग्री की प्रतिलिपि बनाने से बचने के लिए EXT_texture_from_pixmap
एक्सटेंशन पर पढ़ना होगा। वह एक्सटेंशन आपको उन प्रतियों के लिए हार्डवेयर-त्वरित ब्लिट्ज का उपयोग करने की अनुमति देता है।
आपको शायद _NET_WM_SYNC_REQUEST के विनिर्देश में दिलचस्पी होगी, ताकि आंसू मुक्त प्रतिपादन को लंबवत रिट्रेस में सिंक्रनाइज़ किया जा सके।
वहाँ अपने प्रश्न में दो भाग हैं: 1) कैसे WM 2 लिखने के लिए) कैसे मदद करने के लिए इसके अलावा में भाग दो (समझने के स्रोत xcompmgr करने के लिए)
कुछ लिंक संयुक्त प्रबंधक लिखने के लिए:
- http://www.talisman.org/~erlkonig/misc/x11-composite-tutorial/ (क्यूटी का उपयोग करता है, लेकिन बहुत सामान्य और निम्न स्तर)
- https://github.com/gustavosbarreto/compmgr
- http://projects.mini-dweeb.org/projects/unagi
विंडो प्रबंधक, "भाग एक":
- मैं सरल ~ जावास्क्रिप्ट में 100 loc wm है https://code.google.com/p/winmalist/
- : https://github.com/sidorares/node-x11/blob/master/examples/windowmanager/wm.js
- एक और minimalist wm (सी) में है, अच्छा एक संदर्भ के रूप शुरू करने के लिए सबसे महत्वपूर्ण कीवर्ड:
SubstructureRedirect
इवेंट मास्क। दस्तावेज का एक बिट here