- FyneDesk Go में विकसित Linux/Unix के लिए एक डेस्कटॉप वातावरण है
- यह Fyne toolkit पर आधारित है और सरल उपयोगिता तथा आसान development को लक्ष्य बनाता है
- आवश्यक external tools के साथ यह पूरा डेस्कटॉप अनुभव प्रदान करता है
- auto-recovery feature वाली
fynedesk_runner utility के जरिए स्थिरता को और मजबूत किया जा सकता है
- alpha/beta सॉफ़्टवेयर होने के नाते open source contribution और feedback का स्वागत है
परियोजना का अवलोकन
- FyneDesk Go और Fyne toolkit का उपयोग करके बनाया गया Linux या Unix के लिए डेस्कटॉप वातावरण है
- यह Material Design का पालन करने वाला सहज UI और user-friendly अनुभव देने का प्रयास करता है
- इसकी खासियत है कि नए और अनुभवी, दोनों तरह के developers के लिए development और contribution आसान है
मुख्य विशेषताएँ और ताकत
- FyneDesk पारंपरिक डेस्कटॉप वातावरणों से अलग Go में लिखा गया है, इसलिए इसका प्रबंधन और maintenance आसान है
- Fyne toolkit के आधार पर इसमें highly extensible GUI संरचना है
- हल्का installation और तेज़ startup इसकी प्रमुख खूबियाँ हैं
- यह contributors और users के feedback को सक्रिय रूप से स्वीकार करता है
dependencies और external tools
- FyneDesk को सही तरह से चलाने के लिए निम्न external tools की आवश्यकता होती है
- arandr : display settings बदलने के लिए
- xbacklight या brightnessctl : laptop की brightness नियंत्रित करने के लिए
- connman-gtk : Wi‑Fi network settings के लिए
- compton : compositor support के लिए
- इनके बिना भी यह चल सकता है, लेकिन पूर्ण डेस्कटॉप अनुभव सीमित हो जाता है
installation और execution
- standard Go tools से FyneDesk को आसानी से install किया जा सकता है
- install के बाद इसे "preview mode" में चलाया जा सकता है, और window manager के रूप में उपयोग करने के लिए अतिरिक्त configuration चाहिए
- डेस्कटॉप वातावरण चयन मेनू में FyneDesk दिखाई देता है
- Xephyr tool के जरिए built-in X window में इसका परीक्षण किया जा सकता है
fynedesk_runner और स्थिरता
- FyneDesk स्थिरता सुनिश्चित करने के लिए fynedesk_runner utility को support करता है
- यदि कोई प्रोग्राम अप्रत्याशित रूप से बंद हो जाए, तो यह running state को अपने-आप recover करता है
- यह pre-release versions (alpha/beta) के evaluation और testing के लिए उपयुक्त संरचना है
packaging और distribution मार्गदर्शन
- वितरण के समय यह आवश्यक libraries और dependencies से अलग हल्के रूप में उपलब्ध है
- fin (fyshos/fin) जैसे अतिरिक्त applications के साथ मिलाकर अधिक पूर्ण integrated अनुभव प्राप्त किया जा सकता है
- यदि इसे system package के रूप में वितरित किया जाए, तो project टीम से संपर्क करने पर official link जोड़ा जा सकता है
open source contribution
- सभी के लिए open source contribution और feedback का स्वागत है
- मार्च 2024 तक इसमें 1,300 stars, 54 forks, और 8 से अधिक contributors सक्रिय हैं
1 टिप्पणियां
Hacker News राय
यह प्रोजेक्ट वाकई शानदार लग रहा है, और खासकर इसलिए और भी पसंद आ रहा है क्योंकि यह cross-platform UI toolkit बनाने के बड़े लक्ष्य का हिस्सा है https://fyne.io
काश ऐसे महत्वाकांक्षी प्रोजेक्ट्स पर काम करने वाले डेवलपर्स और बढ़ें, OpenAI API wrapper जैसे प्रोजेक्ट अब बस बहुत हो गए
उम्मीद है अच्छा काम जारी रहेगा
मैं पूरी तरह Wayland-आधारित डेस्कटॉप पर आ चुका हूँ, इसलिए अगर FyneDesk Wayland पर बदलता है तो मैं उसे खुशी से आज़माऊँगा
सुना है कि 5.0 में पूरा Wayland सपोर्ट देने का लक्ष्य रखा गया है
बस ETA जानने की जिज्ञासा है, क्योंकि पिछली रिलीज़ 1.5 साल पहले आई थी और तब से इंतज़ार कर रहा हूँ
यह भी देखा कि आधिकारिक रिलीज़ branch 0.4, X11 की आखिरी branch होगी और 0.5 से Wayland (XWayland सहित) पर स्विच किया जाएगा https://github.com/FyshOS/fynedesk/releases
उसके बाद (शायद इस साल के अंत में) Wayland पर ट्रांज़िशन का काम शुरू करने की योजना है
ट्रांज़िशन को आसान बनाने के लिए हम दोनों का सपोर्ट रखना चाहेंगे, लेकिन अभी कुछ पक्का नहीं है
अभी हम upstream library में fixes merge होने का इंतज़ार कर रहे हैं
xdg-desktop-portalके काम करने का तरीका बिल्कुल पसंद नहीं हैमैंने Arch/Hyprland पर color picker implement करने की कोशिश की, लेकिन बिल्कुल सफल नहीं हुआ
API सच में बहुत खराब लगती है
यह थोड़ा entitlement जैसा लग रहा है
Go की पृष्ठभूमि को देखते हुए यह Limbo और Oberon-2 के तत्वों के मिश्रण जैसा महसूस होता है
डेस्कटॉप environment में Go की dynamic linking policy (और लगभग छोड़ दिए गए plugin package) को देखते हुए, Oberon या Inferno के dynamic behavior को D-Bus या net/rpc से बदला जा सकता है
लेकिन डेस्कटॉप fragmentation की मौजूदा हालत देखें तो शायद इसे सच में आगे बढ़ाने की ज़्यादा वैल्यू नहीं है, इसलिए अभी तो बस कल्पना कर रहा हूँ कि ऐसा कैसा लगेगा
हम FyshOS में app editor को integrate कर रहे हैं (इसका नाम बदलकर https://apptrix.ai पर ले जाया गया है)
इसे पुराने preview वीडियो में भी देखा जा सकता है https://youtu.be/XXmDmn-et4E?si=5n1Ao-V6dKurXzS6 (मुख्य रूप से 15:30 के बाद का हिस्सा)
Oberon systems की तरह, यह compiler द्वारा बनाए गए object files को सीधे load करके execute करने की तकनीक है https://github.com/pkujhd/goloader
main branch में यह 2024 के मार्च में merge हुआ था
dev branch में master से 100 से ज़्यादा commits आगे तक बहुत सक्रिय development चल रहा है
आखिरी stable release मार्च 2024 की होना भी मुझे पूरी तरह ठीक लगता है
अगर आप development branch से सीधे build करें, तो हमेशा latest स्थिति इस्तेमाल कर सकते हैं
मुझे व्यक्तिगत रूप से vertical dock पसंद है, लेकिन vertical time display थोड़ा खटकता है
लगता है प्रोजेक्ट 7 साल पहले शुरू हुआ था
जब Wayland सपोर्ट शुरू होगा, तब मैं इसे ज़रूर ठीक से आज़माऊँगा
हम upstream libraries में fixes लागू होने का इंतज़ार कर रहे हैं
मैंने भी थोड़ी देर Wayland इस्तेमाल किया, लेकिन सिर्फ user के नज़रिए से मुझे कोई फर्क बिल्कुल महसूस नहीं हुआ
यह hobby project है, revenue business का हिस्सा है, या किसी university वगैरह द्वारा backed academic project है—ऐसी जिज्ञासा थी
देखा तो parent GitHub account में दो लोग हैं https://github.com/FyshOS
core team में 4 लोग हैं https://github.com/orgs/FyshOS/people और community contributions का भी सक्रिय रूप से स्वागत है
हम sponsorships और commercial partnerships के लिए भी खुले हैं
हाल में मैं Fyne के साथ कई चीज़ें experiment कर रहा था और वह काफी पसंद आया
मैं customizable desktop environment के साथ खेलना तो चाहता था, लेकिन setup process इतना सिरदर्द लगता था कि रुक जाता था; Go की वजह से अब संभावना दिख रही है
हम desktop environment development का अनुभव जितना संभव हो उतना आसान बनाना चाहते हैं
उदाहरण के लिए, panel या desktop के modules भी बस ऐसा function लिखकर बनाए जा सकते हैं जो
fyne.CanvasObjectreturn करे, इसलिए Fyne app में panel बनाने जैसा आसान development अनुभव मिलता हैक्या Pop!_OS 22 पर ध्यान रखने लायक कोई खास बात है?