2010-07-16 12 views
6

मैं अब एक्सलिब प्रोग्रामिंग पर थोड़ा उलझन में हूं। मैंने कुछ हफ्ते पहले dwm (हल्के खिड़की प्रबंधक) का उपयोग करना शुरू किया था, और मैं dwm को अनुकूलित करने के लिए कुछ Xlib प्रोग्रामिंग पुस्तकें या ऑनलाइन संसाधन चुनना चाहता हूं।कुछ अच्छे Xlib प्रोग्रामिंग मार्गदर्शिका कहां हैं?

हालांकि, वेब के चारों ओर गुगल करने के बाद, मुझे Xlib के बारे में बात करने वाले बहुत से नए लेख नहीं दिख रहे हैं ?? अमेज़ॅन पर एक्स विंडो सिस्टम के लिए नवीनतम प्रोग्रामिंग गाइड 1 99 4 में है ?? क्या एक्सलिब का कोई नया लेख नहीं है क्योंकि पुरानी किताब पर्याप्त है, या क्योंकि कुछ नई तकनीक है जिसे मैं नहीं जानता हूं? या, शायद मेरे पास वेब पर खोजने के लिए सही कीवर्ड नहीं था। यदि ऐसा है, तो क्या कोई मुझे सही जगह पर इंगित कर सकता है?

+4

एक्स बहुत पुरानी तकनीक है। आधुनिक यूनिक्स/लिनक्स जीयूआई विकास क्यूटी या जीटीके + (या कई अन्य टूलकिट्स) में होता है Xlib में अपना समय प्रोग्रामिंग बर्बाद न करें। उस पर एक दिन खर्च करें और फिर जीटीके या क्यूटी सीखें (जिसे एक्सलिब का उपयोग करके कार्यान्वित किया जाता है) –

उत्तर

14

कोई भी अद्यतित पुस्तकें नहीं हैं जिन्हें मैं जानता हूं। आपको वास्तव में सिर्फ चश्मे और स्रोत कोड का एक गुच्छा पढ़ना होगा। सौभाग्य से यह नहीं है जटिल।

मैं gtk +/gdk/x11 (जीटीके को एक्स बैकएंड) के स्रोत को पढ़ने और आपके पसंदीदा जोड़े के डब्लूएम के स्रोत को एक लंबा रास्ता तय करने के लिए कहूंगा। आईसीसीसीएम और ईएमडब्ल्यूएच चश्मे आवश्यक हैं।

पुरानी मार्गदर्शिकाओं के बाद एक्स प्रोग्रामिंग में एक बड़ा बदलाव यह है कि कोई भी ड्राइंग, फोंट, प्रिंटिंग इत्यादि के लिए सर्वर-साइड सुविधाओं में से कई का उपयोग करना पसंद नहीं करता है। तो एक्सड्राफू फ़ंक्शंस, फ़ॉन्ट्स, एक्सप्रिंट, जीसी, कॉलमैप्स के बारे में सबकुछ, जो कम या ज्यादा अप्रचलित है। आम तौर पर क्लाइंट साइड पर ड्राइंग आमतौर पर काहिरा या स्कीया जैसे पुस्तकालयों के साथ किया जाता है।

विंडोज़ और पिक्समैप्स के बारे में सामान और उन पुराने पुस्तकों में मूल तरीका एक्स काम करता है हालांकि यह अभी भी सटीक होगा।

कुछ अच्छी सामान्य एक्स सलाह यदि आप एक WM के साथ खिलवाड़ कर रहे हैं:

  • आप बल्कि राज्य प्राप्त करने से घटनाओं के लिए प्रतिक्रिया करने की जरूरत है। उदाहरण के लिए, हमेशा अपने आकार को अंतिम आकार के रूप में मानें जिसे आपने कॉन्फ़िगर करने के लिए कॉन्फ़िगर किया है; XGetGeometry या अपना आकार प्राप्त करने के लिए कुछ न कहें। राज्य प्राप्त करने में दो समस्याएं हैं: यह प्रदर्शन को मारता है (एक गोल यात्रा = प्रदर्शन मौत के लिए अवरुद्ध) और यह दौड़ की स्थिति पेश करता है।

  • डब्ल्यूएम में, आप अन्य ऐप्स की खिड़कियों से निपट रहे हैं, और उन्हें किसी भी समय नष्ट किया जा सकता है, जिसके परिणामस्वरूप आप उस विंडो को छू रहे हैं। इसलिए किसी भी फ़ंक्शन जिसे आप विंडो पर कॉल करते हैं, विफल हो सकता है।

  • मौजूदा समय का उपयोग कभी नहीं, हमेशा एक असली टाइमस्टैम्प का उपयोग करें, या आप फ्रीकी रेस स्थिति कीड़े कि आप

वहाँ बहुत अधिक सुझावों मुझे लगता है कि कर रहे हैं, लेकिन उन आप प्राप्त करने के लिए तीन हैं पागल जाएगा पैदा हो जाएगी सामान्य गलतियों से परहेज करना शुरू किया ;-)

संबंधित मुद्दे