‹ शुरुआती स्क्रीनडेवलपमेंट

LineXinBar का विकास: दस्तावेज़, सोर्स कोड, अनुवाद

दस्तावेज़

उपयोगकर्ताओं और डेवलपरों का पूरा संदर्भ कोड के बगल में, docs/ में रहता है। हर गाइड:

शुरुआत करेंज़रूरतें, अनुमतियाँ, बिल्ड करना, नेस्टेड और मूल सत्र पैकेजिंगArch, Debian और Ubuntu, Fedora और Nix पैकेज कॉन्फ़िगरेशनहर सेटिंग, और हर ऐप्लिकेशन की सेटिंग प्रोजेक्ट का अवलोकनडिज़ाइन के लक्ष्य, Gamescope, जानी-पहचानी सीमाएँ ऐप्लिकेशन, मीडिया और फ़ाइलेंबार, खोज, शेल्फ़ और फ़ाइलें Steamसाइन इन, लाइब्रेरी, लॉन्च करना, मित्र और निमंत्रण Epic GamesHeroic के ज़रिए: साइन इन, इंस्टॉल, क्लाउड सेव RetroArchROM फ़ोल्डर, कोर, BIOS फ़ाइलें और गेम डिस्क PlayStation 3RPCS3, पैकेज, डिस्क कुंजियाँ और ट्रॉफ़ियाँ डेस्कटॉप सेटिंगरूप-रंग, डिस्प्ले, पावर, ध्वनि, नेटवर्क, सिस्टम कंट्रोलपैड, कीबोर्ड, माउस, टच, ऑन-स्क्रीन कीबोर्ड गाइड और मेनूऐप बदलना, त्वरित सेटिंग, मिक्सर, स्टिक पॉइंटर डेस्कटॉप इंटीग्रेशनस्क्रीनशॉट, शेयर करना, फ़ाइल डायलॉग, अनुरोध अपडेटस्रोत, रिकवरी और अपने अपडेट प्रदाता आर्किटेक्चरसोर्स की बनावट, शेल प्रोटोकॉल, ऑडियो, कांच स्थानीयकरणभाषाएँ, कैटलॉग और अनुवाद जोड़ना

यह कैसे बना है

दो प्रोग्राम, दोनों Rust में: lxb, Smithay पर बना एक छोटा Wayland कंपोज़िटर, और lxb-desktop, शेल, जो wgpu के साथ GPU पर बनता है।

  • कंपोज़िटर डिस्प्ले को खुद DRM/KMS के ज़रिए चलाता है — हर कनेक्टर अपनी स्वैपचेन और अपने vblank से चलने वाले लूप के साथ एक असली आउटपुट — या डेवलपमेंट के लिए किसी विंडो में नेस्टेड चलता है। यह X11 प्रोग्राम एक निजी Xwayland के ज़रिए चलाता है।
  • शेल एक layer-shell क्लाइंट है, इसलिए यह layer-shell लागू करने वाले दूसरे कंपोज़िटरों पर भी चलता है। यह कंपोज़िटर से एक निजी प्रोटोकॉल, lxb_shell_v1, के ज़रिए बात करता है, जिसे सिर्फ़ सत्र के अपने प्रोग्राम इस्तेमाल कर सकते हैं।
  • रूप की गणना होती है, उसे पेंट नहीं किया जाता। वॉलपेपर इस बात का एक विश्लेषणात्मक फ़ंक्शन है कि आप कहाँ देख रहे हैं, जिसकी हर पिक्सेल पर गणना होती है; हर चिह्न एक सफ़ेद आकृति है जिसे डिस्टेंस फ़ील्ड में मापकर शेडर पानी की बूँद की तरह खड़ा करता है। यह वेबसाइट उन्हीं दोनों शेडरों के पोर्ट चलाती है।
  • इनके आसपास: स्क्रीन शेयर करने, फ़ाइल डायलॉग और बाकी डेस्कटॉप पोर्टल के लिए lxb-portal; अपडेट कोऑर्डिनेटर lxb-updates; और RetroArch, Heroic और RPCS3 के लिए वैकल्पिक हेल्पर।

अनुवाद

शेल जो भी शब्द दिखाता है, वह एक Fluent कैटलॉग से आता है, दस भाषाओं में: जर्मन, ब्रिटिश और अमेरिकी अंग्रेज़ी, स्पेनिश, फ़्रेंच, हिन्दी, पोलिश, ब्राज़ीली पुर्तगाली, रूसी और सरलीकृत चीनी।

कैटलॉग crates/lxb-desktop/locales/ में सादी टेक्स्ट फ़ाइलें हैं। अनुवाद ठीक करना एक पंक्ति बदलना है; नई भाषा एक नया कैटलॉग है, और टेस्ट जाँचते हैं कि हर कैटलॉग में वही संदेश, वही आर्ग्युमेंट के साथ हों। लॉगिन स्क्रीन और सहयोगी ऐप्लिकेशनों के अपने कैटलॉग इसी रूप में हैं।

बग रिपोर्ट करें

GitHub पर एक issue खोलें, और वे चार चीज़ें शामिल करें जिनसे समस्या दोहराई जा सके:

  • आपका डिस्ट्रीब्यूशन और उसका वर्ज़न;
  • आपका ग्राफ़िक्स कार्ड और ड्राइवर;
  • आपने LineXinBar कैसे शुरू किया — लॉगिन स्क्रीन से, कंसोल पर lxb --shell से, या नेस्टेड;
  • गड़बड़ी वाले पल के आसपास के लॉग — सत्र के लिए journalctl --user -b, या नेस्टेड रन का टर्मिनल आउटपुट।

कंट्रोलर की समस्या पैड की कंपनी और मॉडल से, और यह जानकर कि वह केबल से लगा है या ब्लूटूथ से, आसानी से पकड़ में आती है।

योगदान दें

बग रिपोर्ट, हार्डवेयर टेस्टिंग, अनुवाद और कोड — सबका स्वागत है।

  • अभी सबसे ज़्यादा हार्डवेयर टेस्टिंग मायने रखती है: दूसरे ग्राफ़िक्स निर्माता, हैंडहेल्ड, कई GPU, असामान्य डिस्प्ले और कंट्रोलर।
  • अनुवाद: आपकी भाषा में जो ग़लत लगे उसे ठीक करें, या एक नई भाषा जोड़ें।
  • कोड: बिल्ड है cargo build --release --locked, टेस्ट हैं cargo test, और किसी बदलाव को काम करते देखने का तरीका नेस्टेड सत्र है।

लाइसेंस

LineXinBar मुफ़्त सॉफ़्टवेयर है, GNU General Public License, सिर्फ़ वर्ज़न 3 के तहत लाइसेंस किया गया।

साथ आने वाले Roboto और Roboto Mono फ़ॉन्ट अपने खुले लाइसेंस के तहत हैं, वैसे ही जैसे वे Noto फ़ॉन्ट जो शेल हिन्दी और चीनी के लिए साथ रखता है, और Bibata कर्सर थीम। यह वेबसाइट रिपॉज़िटरी का हिस्सा है और उसी लाइसेंस के तहत है।