Budgie Desktop 通过 Enlightenment Project 从 GTK 迁移到 EFL 库

Budgie 桌面环境的开发人员决定放弃使用 GTK 库,转而使用 Enlightenment 项目开发的 EFL(Enlightenment Foundation Library)库。 迁移的结果将在 Budgie 11 的版本中提供。值得注意的是,这并不是第一次尝试放弃使用 GTK - 在 2017 年,该项目已经决定切换到 Qt,但后来修改了计划,希望 GTK4 能够改变这种情况。

不幸的是,GTK4 并没有达到开发者的期望,因为它继续只关注 GNOME 项目的需求,GNOME 项目的开发者没有听取替代项目的意见,也不愿意考虑他们的需求。 放弃 GTK 的主要推动力是 GNOME 计划改变其处理皮肤的方式,这使得在第三方项目中创建自定义皮肤变得困难。 特别是,该平台的界面风格由 libadwaita 库提供,该库与 Adwaita 设计主题相关。

不想完全复制 GNOME 界面的第三方环境的创建者应该准备他们的库来处理该样式,但在这种情况下,使用替代库和平台主题库的应用程序设计存在差异。 没有标准工具可以向 libadwaita 添加附加功能,并且尝试添加 Recoloring API(可以轻松更改应用程序中的颜色),但由于担心 Adwaita 以外的主题可能会对质量产生负面影响,因此无法达成一致。 GNOME 的应用程序并使用户问题的分析变得复杂。 因此,替代桌面的开发人员发现自己与 Adwaita 主题紧密相连。

GTK4 中引起 Budgie 开发人员不满的功能包括排除通过创建子类来更改某些小部件的能力、转移到与 Wayland 不兼容的过时 X11 API 类别(例如,在 Budgie 中调用 GdkScreen)和 GdkX11Screen 用于确定连接并更改监视器的配置)、GtkListView 小部件中的滚动问题以及如果窗口未聚焦则失去在 GtkPopovers 中处理鼠标和键盘事件的能力。

在权衡了切换到替代工具包的所有利弊之后,开发人员得出的结论是,最佳选择是将项目切换为使用 EFL 库。 由于该库基于 C++ 以及未来许可政策的不确定性,向 Qt 的过渡被认为是有问题的。 Budgie 的大部分代码都是用 Vala 编写的,但也可以使用 C 或 Rust 工具包作为迁移选项。

至于 Solus 发行版,该项目将继续创建基于 GNOME 的替代版本,但该版本将被标记为不受项目监督,并在下载页面的单独部分中突出显示。 Budgie 11 发布后,开发人员将评估其与 GNOME Shell 相比的功能,并决定是继续使用 GNOME 构建构建还是停止,并提供迁移到使用 Budgie 11 构建的工具。在使用 Budgie 11 桌面的 Solus 构建中,计划修改应用程序的组成,用类似的应用程序替换 GNOME 应用程序,包括在该项目中开发的应用程序。 比如,计划开发自己的应用安装中心。

回想一下,Budgie 桌面提供了自己的 GNOME Shell、面板、小程序和通知系统的实现。 为了管理窗口,使用 Budgie Window Manager (BWM) 窗口管理器,它是基本 Mutter 插件的扩展修改。 Budgie 基于一个在组织上与经典桌面面板类似的面板。 所有面板元素都是小程序,它允许您根据自己的喜好灵活地自定义组合、更改布局和替换主面板元素的实现。 可用的小程序包括经典的应用程序菜单、任务切换系统、打开的窗口列表区域、虚拟桌面查看器、电源管理指示器、音量控制小程序、系统状态指示器和时钟。

Budgie Desktop 通过 Enlightenment Project 从 GTK 迁移到 EFL 库


来源: opennet.ru

添加评论