2009-11-28 12 views
41

अपने नए घर परियोजनाओं के लिए एक सरल विंडो प्रबंधक हो जाएगा में से एक का निर्माण, लेकिन शुरू होने से पहले मैं कुछ बातें पता करने की जरूरत:एक विंडो प्रबंधक

  • कौन सा ऐसा करने के लिए सबसे अच्छी भाषा है?
  • सीखने के लिए कुछ संसाधन कहां प्राप्त करें?
+5

@dmckee मेरा कंपाइलर मैं विकसित कर रहा हूं क्योंकि मैंने इसके लिए एक पुस्तक खरीदी है, लेकिन मेरा ओएस पहले से ही असेंबली में विकसित हुआ है (मेरे पेस्टबिन में देखें: ** nathanpc.pastebin.com/**, यह नाम होगा osasm **;) **) –

+4

ओह मेरे ... क्या आप वास्तव में पागल होना चाहते हैं? उपयोग की जाने वाली कुछ भाषाओं का सर्वेक्षण करने के लिए –

उत्तर

60

एक महत्वपूर्ण निर्णय यह है कि आप एक्स सर्वर से बात करने जा रहे हैं। आप अपनी पसंद की भाषा के लिए Xlib बाइंडिंग का उपयोग कर सकते हैं, या आप उच्च स्तरीय XCB बाइंडिंग का उपयोग कर सकते हैं। (आप insane हैं, तो आप एक्स सर्वर के लिए एक सॉकेट सीधे खोलने सकता है।)

पता करने के लिए कि कैसे एक विंडो प्रबंधक चाहिए व्यवहार करने के लिए, वहाँ दो दस्तावेजों है कि सम्मेलनों और नीतियों को निर्दिष्ट कर रहे हैं: EWMH और ICCCM । इनके अनुरूप यह है कि आपका विंडो मैनेजर गनोम, केडीई, एक्सएफसीई और किसी अन्य डेस्कटॉप वातावरण में अच्छी तरह से व्यवहार करेगा, हालांकि उन्हें अनदेखा करना आपके पहले प्रयास पर निश्चित रूप से आसान है।

एक खिड़की प्रबंधक को सी की एक बड़ी, जटिल गेंद की आवश्यकता नहीं है - सफल खिड़की प्रबंधकों को लिस्प, हास्केल और पायथन जैसे उच्च स्तरीय भाषाओं में लिखा गया है, और यहां तक ​​कि सी में कुछ भी छोटे और पठनीय बने रहे हैं। XMonad, हास्केल में लिखा गया, काफी समय से 1000 लाइनों के नीचे रहा। StumpWM (सामान्य लिस्प) और DWM (सी) दोनों काफी कम हैं।डब्लूएम डिज़ाइन करने के तरीके के बारे में कुछ प्रेरणा पाने के लिए आप अपने स्रोत कोड को पढ़ने में सक्षम हो सकते हैं।


एलिय्याह Newren लिखा है:

उधर न जाएं और उन चीजों पढ़ें। वे वास्तव में, वास्तव में बोअरिंग कर रहे हैं। यदि आप करते हैं, तो आप शायद मेटासिटी पर हैकिंग की बजाय अपनी नींद पर पकड़ लेंगे। ;-)

यह सोचने के लिए आओ, Metacity के प्रलेखन एक अच्छा सा है कि यह कैसे खिड़कियों के साथ सूचना का आदान प्रदान और विस्तारित गुण इसका समर्थन करता है किस तरह के बारे में क्या कहना है।

+7

+1। – dmckee

+0

मुझे उच्च स्तरीय सामान से नफरत है। बी के लिए बीमार छड़ी और मैं सीधे एक्स सर्वर पर सॉकेट भी खोलूंगा – NathanProgrammer

11

जबकि एक और भाषा और पुस्तकालयों का सेट तकनीकी रूप से संभव है, मुझे लगता है कि सबसे अच्छी भाषा पसंद सी, और एक्सलिब या एक्ससीबी पुस्तकालय होगा। एक्स के लिए अधिकांश खिड़की प्रबंधक इसका उपयोग करते हैं, और इन विशेष पुस्तकालयों के लिए यहां पहले से ही बहुत सारी गति और परिपक्वता है।

कुछ दिलचस्प विषय दस्तावेज:

  • Xlib manual - निम्न स्तर के एक्स प्रोग्रामिंग के लिए अवश्य पढ़ें।
  • ICCCM - एक्स अनुप्रयोगों और विंडो प्रबंधक के बीच संचार के लिए सम्मेलन और इंटरफेस।
  • XCB - Xlib के लिए 21 वीं शताब्दी प्रतिस्थापन। यह थोड़ा कम स्तर है, और Xlib की तुलना में आपके लिए कम निर्णय लेता है। जो कुछ मैं इकट्ठा करता हूं, परिणाम असंतोष के लिए अधिक संभावित होने के कारण संभावित रूप से बेहतर प्रदर्शन होता है, लेकिन मुझे चेतावनी दी जानी चाहिए कि मैंने कभी इसके साथ काम नहीं किया है।
7
  • कौन सा ऐसा करने के लिए सबसे अच्छी भाषा है?

    जो भी आप सबसे अधिक आरामदायक हैं। वहां कई अलग-अलग भाषाओं में सफल विंडो प्रबंधक के कई उदाहरण हैं। Qtile और xmonad क्रमशः पायथन और हास्केल में लिखे गए अच्छे उदाहरण हैं।

  • कुछ संसाधनों को सीखने के लिए कहां प्राप्त करें?

    मैं मौजूदा विंडो प्रबंधकों में से कुछ को देखता हूं। उनमें से बहुत सारे हैं, इसलिए कम से कम उनमें से कुछ को पठनीय कोड होना चाहिए। यहां Comprehensive List of Window Managers for Unix है।

25

सी में tinywm प्रारंभ करने के लिए सहायक हो सकता है।

7

मुझे पता है कि यह विषय थोड़ा पुराना है, लेकिन मैं वही बात सोच रहा था। i3 नामक इस विंडो प्रबंधक को भी सीखने के लिए एक अच्छा लगता है।

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