دسکتاپ Budgie از پروژه Enlightenment از کتابخانه های GTK به EFL سوئیچ می کند

توسعه دهندگان محیط دسکتاپ Budgie تصمیم گرفتند از استفاده از کتابخانه GTK به نفع کتابخانه های EFL (کتابخانه بنیاد روشنگری) که توسط پروژه Enlightenment توسعه یافته است، کنار بیایند. نتایج مهاجرت در انتشار Budgie 11 ارائه خواهد شد. شایان ذکر است که این اولین تلاش برای دور شدن از استفاده از GTK نیست - در سال 2017، پروژه قبلاً تصمیم به تغییر به Qt گرفته بود، اما بعداً برنامه های خود را اصلاح کرد. به امید اینکه وضعیت در GTK4 تغییر کند.

متأسفانه GTK4 به دلیل تمرکز مداوم فقط بر روی نیازهای پروژه GNOME که توسعه دهندگان آن به نظرات پروژه های جایگزین گوش نمی دهند و تمایلی به در نظر گرفتن نیازهای آنها ندارند، انتظارات توسعه دهندگان را برآورده نکرد. انگیزه اصلی برای دور شدن از GTK، برنامه های گنوم برای تغییر روش مدیریت پوسته ها بود که ایجاد پوسته های سفارشی در پروژه های شخص ثالث را دشوار می کند. به طور خاص، سبک رابط پلت فرم توسط کتابخانه libadwaita ارائه شده است که با موضوع طراحی Adwaita گره خورده است.

سازندگان محیط‌های شخص ثالث که نمی‌خواهند رابط گنوم را به طور کامل تکرار کنند، باید کتابخانه‌های خود را برای مدیریت سبک آماده کنند، اما در این مورد، در طراحی برنامه‌های کاربردی با استفاده از کتابخانه جایگزین و کتابخانه تم پلت فرم، اختلاف نظر وجود دارد. هیچ ابزار استانداردی برای افزودن ویژگی‌های اضافی به libadwaita وجود ندارد و تلاش برای افزودن یک API Recoloring که تغییر رنگ در برنامه‌ها را آسان می‌کند، به دلیل نگرانی از اینکه مضامینی غیر از Adwaita می‌تواند بر کیفیت تأثیر منفی بگذارد، مورد توافق قرار نگرفت. برنامه های کاربردی برای گنوم و پیچیده کردن تجزیه و تحلیل مشکلات از سوی کاربران. بنابراین، توسعه دهندگان دسکتاپ های جایگزین خود را به موضوع Adwaita گره خوردند.

از جمله ویژگی های GTK4 که باعث نارضایتی توسعه دهندگان Budgie می شود، حذف امکان تغییر برخی ویجت ها از طریق ایجاد کلاس های فرعی، انتقال به دسته API های منسوخ X11 که با Wayland سازگار نیستند (به عنوان مثال، در Budgie GdkScreen را فرا می خواند). و GdkX11Screen برای تعیین اتصال و تغییر پیکربندی مانیتورها، مشکلات اسکرول در ویجت GtkListView و از دست دادن توانایی مدیریت رویدادهای ماوس و صفحه کلید در GtkPopovers در صورتی که پنجره در فوکوس نباشد استفاده شد.

پس از سنجیدن تمام جوانب مثبت و منفی تغییر به ابزارهای جایگزین، توسعه دهندگان به این نتیجه رسیدند که بهینه ترین گزینه تغییر پروژه به استفاده از کتابخانه های EFL است. انتقال به Qt به دلیل اینکه کتابخانه مبتنی بر C++ است و عدم قطعیت در خط مشی صدور مجوز آینده، مشکل ساز تلقی می شود. بیشتر کدهای Budgie در Vala نوشته شده است، اما یک جعبه ابزار C یا Rust به عنوان گزینه های مهاجرت در دسترس بود.

در مورد توزیع Solus، پروژه به ایجاد یک ساخت جایگزین بر اساس گنوم ادامه خواهد داد، اما این ساخت به عنوان بدون نظارت پروژه علامت‌گذاری می‌شود و در قسمتی جداگانه در صفحه دانلود برجسته می‌شود. هنگامی که Budgie 11 منتشر شد، توسعه دهندگان قابلیت های آن را در مقایسه با گنوم شل ارزیابی می کنند و تصمیم می گیرند که آیا ساخت یک بیلد با گنوم را ادامه دهند یا متوقف کنند، و ابزارهایی را برای انتقال به یک بیلد با Budgie 11 فراهم می کنند. در ساخت Solus با دسکتاپ Budgie 11، برنامه‌ریزی شده است که ترکیب برنامه‌ها را اصلاح کند و برنامه‌های GNOME را برای آنالوگ‌ها، از جمله برنامه‌های توسعه‌یافته در پروژه، جایگزین کند. برای مثال، قرار است مرکز نصب اپلیکیشن خودمان را توسعه دهیم.

به یاد بیاورید که دسکتاپ Budgie پیاده سازی خود را از پوسته گنوم، پنل، اپلت ها و سیستم اطلاع رسانی ارائه می دهد. برای مدیریت ویندوز، از مدیر پنجره Budgie Window Manager (BWM) استفاده می شود که یک اصلاح توسعه یافته از پلاگین اصلی Mutter است. Budgie بر اساس پنلی است که از نظر سازماندهی شبیه به پانل های دسکتاپ کلاسیک است. همه عناصر پانل اپلت هستند، که به شما اجازه می دهد تا به طور انعطاف پذیر ترکیب را سفارشی کنید، مکان را تغییر دهید و پیاده سازی عناصر اصلی پانل را به سلیقه خود جایگزین کنید. اپلت‌های موجود عبارتند از: منوی برنامه کلاسیک، سیستم تعویض کار، ناحیه فهرست پنجره باز، نمایشگر دسکتاپ مجازی، نشانگر مدیریت انرژی، اپلت کنترل صدا، نشانگر وضعیت سیستم و ساعت.

دسکتاپ Budgie از پروژه Enlightenment از کتابخانه های GTK به EFL سوئیچ می کند


منبع: opennet.ru

اضافه کردن نظر