सूक्ति शैल विस्तार विकास के लिए प्रलेखन?


22

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

क्या किसी को पता है कि क्या वे विस्तार विकास के लिए दस्तावेज लिखने की प्रगति में हैं? मैं वास्तव में कुछ अच्छे प्रलेखन प्यार करेंगे ...


क्या आपने यह पृष्ठ पहले ही देख लिया था: live.gnome.org/GnomeShell/Extensions ?
बेंजामिन

SO पर समान प्रश्न: stackoverflow.com/questions/13107743/…
Wilf

जवाबों:


7

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

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

केवल वास्तव में विश्वसनीय प्रलेखन सूक्ति शैल स्रोत ही है। बस कोई अन्य अप-टू-डेट या पूर्ण तरीका नहीं है यह जानने के लिए कि क्या उपलब्ध है।

ये दो शुरुआती बिंदु विशेष रूप से अच्छे हैं:

सी स्रोत से पता चलता है कि एक महत्वपूर्ण वस्तु है जिसे globalआयात करने की आवश्यकता नहीं है, और विंडो प्रबंधक (कीबिन्डिंग सहित), सत्र की जानकारी, उपलब्ध स्क्रीन और ऐसी अन्य चीजों तक पहुंच प्रदान करता है। यहाँ स्रोत है:

मैं जानना चाहता था कि global.displayवस्तु का उपयोग कैसे किया जाए , और अब के लिए सबसे अच्छा दस्तावेज यह है कि एलन नोल्स द्वारा प्रदान किया गया है

उदाहरण के लिए, गोब्जेक्ट आत्मनिरीक्षण बाइंडिंग के माध्यम से अन्य चीजों को आयात किया जा सकता है:

सामान्य तौर पर, आप अन्य आयातों को खोजने के लिए विभिन्न सूक्ति घटकों के लिए संदर्भ प्रलेखन के माध्यम से देख सकते हैं ।

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

const Clutter = imports.gi.Clutter;

... काम नहीं करेगा, क्योंकि Clutterपहले से मौजूद है। परन्तु फिर:

const MyClutter = imports.gi.Clutter;

... यह भी काम नहीं करेगा; MyClutterअपरिभाषित है और इसका उपयोग नहीं किया जा सकता है। आप को करना पड़ेगा:

MyClutter = imports.gi.Clutter;

बेशक, इस मामले में Clutterपहले से ही मौजूद है, इसलिए यह वास्तव में आवश्यक नहीं है। लेकिन चूंकि यह प्रलेखित नहीं है कि क्या है और पहले से ही देख रहे ग्लास नेमस्पेस में नहीं है, अगर आप कुछ आयात करने की कोशिश करते हैं और ये समस्याएं हैं, तो इसे ध्यान में रखें।

शेष प्रश्न:

  • क्या है Mainloop? यह आयात किया गया है main.jsऔर इसमें GLib मुख्य लूप से संबंधित कार्य हैं। क्या इसके लिए प्रलेखन है?
  • क्या है imports.misc? ऐसा लगता है कि वहाँ वास्तव में कुछ उपयोगी चीजें हैं, जैसे ExtensionUtils- वह क्या है?
  • आप DBus का उपयोग कैसे करते हैं? आत्मनिरीक्षण के बारे में क्या?

4

दस्तावेज़ीकरण थोड़ा पिछड़ रहा है, जानकारी का एक संभावित स्रोत ओएस प्लम्बर की मस्किंग है , उदाहरण के लिए संस्करण 3.2 के साथ काम करने के लिए GNOME शेल एक्सटेंशन को अपडेट करने पर यह पोस्ट

आप क्या जानकारी चाहते हैं इसके आधार पर, आप सूक्ति मेलिंग सूची की कोशिश कर सकते हैं।


1
जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो यहां उत्तर के आवश्यक भागों को शामिल करना बेहतर होगा , और संदर्भ के लिए लिंक प्रदान करना होगा।
17

3

Gnome 3.4 के लिए एक्सटेंशन बनाने के लिए यह स्टेप बाय स्टेप ट्यूटोरियल मदद कर सकता है: https://live.gnome.org/GnomeShell/Extensions/StepByStepTutorial


1
यह कहता है: "[एपीआई] बहुत मुश्किल है, क्योंकि प्रलेखन की कमी है ..." । ओह अच्छा।
detly

1
मैं तुम्हें इनाम देने हूँ क्योंकि है कि लैंडिंग पृष्ठ कई उपयोगी संबंध हैं :)
detly
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.