- FyneDesk هي بيئة سطح مكتب Go تعتمد على Fyne مع تصميم مادي وواجهة برمجة التطبيقات للوحدات النمطية.
- يضيف الإصدار الرئيسي الثاني الإشعارات والتقاط والتحكم في مستوى الصوت وتحسينات قابلية الاستخدام.
- متطلبات واضحة (arandr، compton، connman-gtk، shine) وأدوات الاختبار مثل Xephyr وfynedesk_runner.
إذا كنت تتساءل عن ماهية FyneDesk، فهي بيئة سطح مكتب لأنظمة Linux وBSD مبنية باستخدام مجموعة أدوات Fyne ولغة Go ، وتتميز بتصميم Material Design أنيق وعصري ومتناسق. وقد أعلن فريقها - وهو جزء من مشروع Fyne نفسه - عن الإصدار الرئيسي الثاني الذي يتضمن مجموعة من التحسينات، ومظهرًا جماليًا أكثر دقة، وواجهة برمجة تطبيقات (API) مبنية بالكامل على لغة Go لتوسيع الوظائف بسلاسة.
لا يقتصر هدف FyneDesk على المظهر الجذاب فحسب، بل يتعداه إلى سهولة الاستخدام والتطوير والصيانة، مما يتيح لأي شخص تخصيص سطح مكتبه حسب رغبته، والمساهمة مباشرةً في المشروع إن رغب . في هذه المقالة، ستتعرف على ماهيته، وكيفية تثبيته، والمتطلبات اللازمة، وأبرز ميزاته الجديدة، وخارطة الطريق، والأسباب التقنية لاختيار X11 بدلاً من Wayland.
ما هو FyneDesk؟
FyneDesk بيئة سطح مكتب لأنظمة Linux/Unix تتبع مبادئ تصميم Material Design، وهي مبنية بالكامل على مجموعة أدوات Fyne، مع استخدام لغة Go كلغة برمجة أساسية. لا يقتصر هدفها على توفير واجهة مستخدم جذابة فحسب، بل يتعداه إلى تسهيل استخدامها من قِبل المستخدمين والمطورين على حد سواء ، مما يقلل من عوائق التعلم والتعديل والتوسيع باستخدام الوحدات والويدجت.
يصف مطورو المشروع أنفسهم هذا النهج بأنه رؤية جديدة لما يجب أن يكون عليه سطح المكتب: سهل الفهم، سهل التعديل، وقابل للتحسين. تقوم فلسفته على إمكانية تصميم سطح المكتب الذي تتخيله ومشاركته مع المجتمع، مما يجعل سهولة التعلم والتطوير جوهر التصميم.
المتطلبات والتبعيات
يتطلب تجميع FyneDesk نفس المتطلبات التي يتطلبها Fyne، لذا يُنصح بمراجعة الوثائق الأولية لمجموعة أدوات Fyne لاتباع خطوات التثبيت الصحيحة. وللحصول على تجربة كاملة، يُوصى باستخدام بعض الأدوات الخارجية التي تُحسّن إدارة النظام.
arandrلتعديل إعدادات العرض.xbacklightobrightnessctlإذا كنت تستخدم الكمبيوتر المحمول وتريد ضبط السطوع.connman-gtkلإعداد شبكات Wi-Fi.comptonلدعم الملحن.
يمكن تشغيل سطح المكتب بدون هذه التبعيات الخاصة بوقت التشغيل، ولكن ستكون التجربة محدودة: لن تكون بعض المناطق متاحة أو لن تعمل بشكل جيد، لذلك من الأفضل تثبيت الأدوات المساعدة المقترحة لتحقيق أقصى استفادة منه.
طرق التثبيت والتنفيذ
إذا كنت تستخدم أدوات Go القياسية، يمكنك تثبيت FyneDesk مباشرةً من الكود المصدري. يوفر المشروع طريقة ` go install` لأدواته وسطح المكتب نفسه، بالإضافة إلى إمكانية استنساخ المستودع باستخدام Git. بعبارة أخرى، لديك سير عمل Go المعتاد جاهزًا للاستخدام، وطريقة سريعة لتشغيل FyneDesk في بيئتك.
سوف يقوم التثبيت بوضع الملف الثنائي على جهازك $GOPATH (عادة في ~/go/bin). ومن هناك، من الممكن تشغيله في وضع "المعاينة" كما لو كان أي تطبيق Fyne، على الرغم من أنه من الجدير أن نتذكر أن هذا لا يعني تشغيل مدير النوافذلكي تجعله سطح المكتب الرئيسي لديك، هناك بعض الخطوات الإضافية.
لاستخدامه كبيئة عمل رئيسية، يمكنك تسجيله كسطح مكتب قابل للتحديد في مدير الجلسات (على سبيل المثال، LightDM). بعد تشغيل أوامر التكوين المناسبة وتسجيل الخروج، ستجد FyneDesk في قائمة أسطح المكتب التي تظهر على شاشة تسجيل الدخول.
إذا كنت تفضل إجراء الاختبارات دون التأثير على جلستك العادية، يمكنك تحميل مكونات مدير النوافذ في بيئة X مضمنة باستخدام Xephyr . بمجرد تثبيت Xephyr على نظامك (يأتي عادةً مع Xorg)، يمكنك تشغيل الأمر المناسب من الدليل المحدد في المشروع واختبار سطح المكتب داخل نافذة دون التأثير على بيئة التشغيل الفعلية.
إذا قمت بتشغيل الأمر أثناء وجود مدير نوافذ نشط بالفعل، أو إذا قمت بذلك على أنظمة لا تدعم مديري النوافذ (مثل ويندوز أو ماك أو إس)، فسيبدأ برنامج FyneDesk في وضع اختبار الواجهة. عند تحميله في هذا الوضع، ستتمكن من رؤية جميع الميزات تقريبًا باستثناء التحكم في النوافذ، حيث سيتم فتحها على سطح المكتب الرئيسي.
يجب أن يكون سطح المكتب مستقرًا للغاية، ولكن أي برنامج في مرحلة ألفا أو بيتا قد يُفاجئك بتعطلات متقطعة. لتقليل الإزعاج، تتوفر الأداة المساعدة fynedesk_runner، مشغل يراقب العملية، وإذا حدث تعطل، fynedesk_runner يساعدك على استعادة الحالة دون فقدان البيانات في تطبيقاتك. يمكنك تثبيته باستخدام أدوات Go القياسية واستخدامه بدلاً من الأمر fynedesk عند اختبار الإصدارات ما قبل الإصدار.
ما الجديد في الإصدار الرئيسي الثاني
عمل فريق FyneDesk لشهور على تحسين إدارة سطح المكتب، وتعزيز الأداء، وزيادة الموثوقية. لكن السبب الرئيسي لهذا الإصدار الرئيسي هو مشاركة ميزات جديدة مع المستخدمين: يتضمن هذا الإصدار الثاني إشعارات سطح المكتب، وإمكانية التقاط لقطات الشاشة، وواجهة برمجة تطبيقات (API) مبنية بالكامل على لغة Go ، بالإضافة إلى اعتماد التصميم الجديد لمجموعة أدوات Fyne 2.0.
- دعم إشعارات سطح المكتب.
- إنشاء واجهة برمجة تطبيقات لكتابة وحدات قابلة للتضمين في FyneDesk.
- التحكم في مستوى الصوت عبر PulseAudio.
- لقطة شاشة لسطح المكتب والنافذة.
- يدعم المشغل الآن عناوين URL والحسابات والتحكم في الصوت/السطوع.
- دعم لتنسيق أيقونة XPM.
- انقر نقرًا مزدوجًا فوق شريط العنوان لتكبيره.
- تأثيرات التحويم على حواف النافذة.
- خيار استخدام تنسيق الوقت 24 ساعة.
- اسحب الحدود للخروج من الوضع المكبر.
- الاختيار بين مفتاح Alt ومفتاح Super/Win للاختصارات.
- مؤشر طاقة التيار المتردد لحالة البطارية.
- خيار لتغيير موضع أزرار الحدود.
- دعم الشفافية الزائفة لمحطات X والتطبيقات المماثلة.
بالإضافة إلى ما هو مرئي، هناك تفاصيل صغيرة متناثرة حول سطح المكتب تضيف جودة: من النوع الذي تكتشفه مع الاستخدام اليومي والذي يجعل كل شيء يسير بشكل أفضل، لذا يجدر تجربته لاكتشافها.
المظهر والموضوعات
مع التحسينات الأخيرة التي أُدخلت على سمة Fyne والتغييرات التي طرأت على تصميم عناصر واجهة المستخدم في شريط النظام (والتي أصبحت الآن وحدات نمطية)، يبدو سطح المكتب أكثر حداثةً وجاذبية. يتوفر إصداران من السمة الافتراضية، أحدهما داكن والآخر فاتح، وقد عرض الإصدار 0.2 سمة داكنة أنيقة للغاية في لقطات الشاشة المصاحبة للإعلان الرسمي.
من بين التفاصيل اليومية المهمة، خاصية الشفافية الظاهرية لمحطات X والتطبيقات المشابهة، وتأثيرات التمرير على حواف النوافذ، وإمكانية تكبيرها بنقرتين على شريط العنوان. كل هذه اللمسات الصغيرة تُضفي على بيئة العمل سلاسةً وتناسقًا دون إحداث فوضى في واجهة المستخدم.
القرارات المعمارية والفنية
FyneDesk مكتوب بلغة Go، ويُتيح واجهة برمجة تطبيقات (API) للوحدات مكتوبة أيضاً بلغة Go، مما يجعل توسيع سطح المكتب سهلاً كإنشاء الأدوات في تطبيقاتك الخاصة باستخدام Fyne. أما بالنسبة للأداء، فإن نظام جمع البيانات المهملة في Go متطور ويعمل بكفاءة عالية، وعندما تكون الهياكل والمخازن المؤقتة مصممة بشكل جيد، فإنه يتجنب التوقفات المزعجة حتى مع الاستخدام المكثف.
فيما يتعلق بمجموعة أدوات الرسومات، يركز المشروع حاليًا على Wayland . لماذا؟ لأن X11 واجهة برمجة تطبيقات بسيطة، قابلة للتنقل بسهولة بين أنظمة Linux وBSD، وتوفر توافقًا فوريًا مع معظم مجموعات الأدوات والتطبيقات الموجودة. أما Wayland، فهو أكثر بساطة، ويجبر برنامج إدارة النوافذ على التعامل مع العديد من المكونات الإضافية لتحقيق تكافؤ الميزات. إذا كان هدفك هو بناء بيئة سطح مكتب، وليس إنشاء برنامج إدارة نوافذ جديد من الصفر، فإن X11 يغطي جزءًا كبيرًا من العملية ، ويتيح لك التركيز على ما يميز بيئة سطح المكتب الخاصة بك.
التخصيص والاختصارات
فيما يتعلق بالتخصيص، يتيح لك FyneDesk اختيار ما إذا كان مفتاح الاختصار الأساسي هو Alt أو Win/Super، وهو ما يجده العديد من المستخدمين أسهل في التكيف مع ذاكرتهم العضلية. يمكنك أيضًا تغيير موضع أزرار الإطار، وضبط الوقت على تنسيق 24 ساعة، والخروج من وضع التكبير عن طريق سحب الإطار ، مما يوفر تجربة تفاعل طبيعية وسريعة.
أصبح مُشغِّل التطبيقات أكثر ذكاءً: فهو يتعرف على عناوين URL، ويُجري حسابات بسيطة، ويُتيح لك إدارة الصوت والسطوع من مربع البحث نفسه. بالإضافة إلى التحكم في مستوى الصوت عبر PulseAudio ودعم السطوع على أجهزة الكمبيوتر المحمولة المزودة بـ xbacklight o brightnessctl، التركيز على إنجاز المهام اليومية أمر ملحوظ أكثر مرونة وأقل تدخلاً.
للاستخدام اليومي للكمبيوتر المحمول، يُعد مؤشر طاقة التيار المتردد في حالة البطارية مفيدًا للغاية، وعند إدارة النوافذ، يُحسّن النقر المزدوج للتكبير والسحب للخروج من وضع التكبير من سلاسة الاستخدام. تغييرات بسيطة، نعم، لكنها تغييرات ستستخدمها مجددًا دون تفكير، وهنا تكمن ميزة سطح المكتب من حيث سهولة الاستخدام.
التكامل والتعبئة والإضافات
إذا كنت تخطط لاستخدام FyneDesk كسطح مكتب افتراضي في توزيعة أو تركه متاحًا كخيار قياسي، فإن المشروع يقدم بعض التوصيات. ليس من الضروري تضمين مكتبة الأدوات أو التبعيات، ولكن يُنصح بإضافة التطبيق. fin (github.com/fyshos/fin) كمدير عرض، منذ إنه يتناسب مع مظهر FyneDesk بشكل جيد للغاية. ويحافظ على التماسك البصري.
من الناحية الجمالية، ساهم جوست غرانت في وضع مفاهيم التصميم وبعض الخلفيات المجردة، وهو ما يعزز الالتزام بهوية بصرية واضحة وعصرية. في النهاية، مهما بلغت التقنية التي يتمتع بها سطح المكتب، فإن الاهتمام بالتفاصيل البصرية هو ما يجعلك ترغب في البقاء لفترة أطول.
يشمل النظام البيئي المحيط بـ FyneDesk وجوده على FyshOS وموقع المشروع الإلكتروني المُستضاف على صفحات GitHub (بتصميم من mattgraham). ومن هناك، يشجعونك على البدء في أقرب وقت ممكن، ويقدمون روابط لمزيد من أمثلة التصميم، بما في ذلك الإصدارين الفاتح والداكن، لتتمكن من تكوين فكرة عن الشكل والمظهر حتى قبل التثبيت.
خريطة الطريق والخطوات التالية
يُدير الفريق خارطة طريق عامة على ويكي GitHub تتضمن خططًا طموحة. تشمل الميزات الرئيسية للإصدارات القادمة أسطح المكتب الافتراضية، وشاشة القفل، ومدير شبكة متكامل. بعد هذا الإصدار الرئيسي، يعتزم الفريق أيضًا تحسين إعداد الشاشات المتعددة بشكل ملحوظ لجعله أكثر شمولية وسهولة في الاستخدام، إلى جانب تحسينات أخرى تُسهّل تجربة المستخدم.
إذا لاقى هذا المقترح استحسانك، فهم يرحبون بانضمامك ومساهمتك. من الاختبارات والتعليقات إلى كتابة الكود والتوثيق، نرحب بأي مساعدة تُسهم في تحقيق أهدافهم. وبما أن واجهة برمجة التطبيقات (API) الخاصة بالوحدات مكتوبة بلغة Go، فإذا كنت تستخدم Fyne بالفعل في تطبيقاتك، فسيكون الانتقال إلى توسيع سطح المكتب أمرًا طبيعيًا للغاية.
من هو FyneDesk المناسب؟
لمستخدمي لينكس وبي إس دي الذين يرغبون في سطح مكتب خفيف ومتناسق بتصميم ماتيريال ديزاين أنيق. إذا كنت تُقدّر واجهة مستخدم بسيطة دون التضحية بالميزات اليومية المفيدة (الإشعارات، والتحكم السريع في السطوع والصوت، ولقطات الشاشة، إلخ)، فهذا خيار يُعطي الأولوية للبساطة دون المساس بالأداء.
لمطوري لغة Go الذين يرغبون في سطح مكتب قابل للتوسيع بشكل أصلي. تجعل واجهة برمجة التطبيقات للوحدات النمطية وتكامل Fyne إنشاء عناصر واجهة مستخدم أو وظائف جديدة أمرًا سهلاً مثل بنائها لتطبيقاتك الخاصة؛ يتم تبادل المعرفة والاستفادة من الجهد، حتى تتمكن من الابتكار دون إعادة اختراع العجلة.
لمُطوّري الحزم وتوزيعات البرامج الذين يبحثون عن بيئة سطح مكتب ذات مسار تكامل واضح. بفضل X11، أصبح التوافق مع التطبيقات الحالية واسعًا، وأدوات مثل fynedesk_runner إنها تسهل اختبار الإصدارات السابقة دون تعريض المستخدم النهائي للأعطال، لأنها المساعدة في استعادة الحالة بعد الفشل بشفافية.
أسئلة سريعة ونصائح الاستخدام
هل يعمل البرنامج بدون الأدوات الخارجية الموصى بها؟ نعم، يبدأ تشغيل FyneDesk ويمكن استخدامه، ولكن بعض الوظائف ستكون أقل فعالية؛ ولن تكون التجربة هي نفسها. لضمان سلاسة التشغيل، قم بتثبيت arandr وcompton وconnman-gtk ومدير السطوع الذي تفضله.
هل يمكنني تجربته دون تغيير جلستي؟ نعم، مع Xephyr يمكنك تشغيله في نافذة مدمجة والتدرب عليه دون لمس سطح مكتبك. إنه مفيد جدًا للمراجعات السريعة أو لعرض كيفية عمله على الآخرين. لمزيد من راحة البال، prueba مع العداء إذا كنت تستخدم الإصدارات السابقة.
ماذا يحدث إذا شغّلتُ البرنامج في بيئة مُشغّلة لمدير النوافذ، أو على نظامي macOS/Windows؟ سيدخل سطح المكتب في وضع اختبار واجهة المستخدم. سترى تقريبًا كل ما يتعلق بالواجهة، ولكن سيتم تعطيل التحكم في النوافذ، وستُفتح النوافذ على سطح المكتب الرئيسي. إنها طريقة آمنة لاستكشاف الميزات دون التأثير على جلستك.
كيف يحمون من السقوط؟ مع fynedesk_runnerفي حال حدوث عطل، تحاول هذه الأداة استئناف العمل من حيث توقفت لتجنب فقدان البيانات في تطبيقاتك المفتوحة. عند تقييم الإصدارات الجديدة أو فروع التطوير، إطلاق FyneDesk اللعب مع العداء هو اللعب الأكثر منطقية.
يجمع FyneDesk بين أساس تقني متين في Go، وواجهة برمجة تطبيقات معيارية تشجع على توسيع الوظائف، والتركيز على تجربة المستخدم الواضحة في الإجراءات اليومية؛ إلى جانب القرارات العملية مثل اختيار X11، والتي أصبحت الآن خارطة طريق واضحة، يصبح خيارًا جذابًا للغاية لأولئك الذين يبحثون عن سطح مكتب حديث وقابل للتكيف وجاهز للتطور مع المجتمع.