Solus Linux 项目的领导者之一 Joshua Strobl 宣布,他打算在 Budgie 的未来版本和 Solus 中整个应用程序生态系统的开发中放弃 GTK。在他的博客中,他对 GTK 的现状和发展计划,以及 GNOME 的发展理念进行了多次批评。

据他介绍,广泛植入 Adwaita 作为唯一真正的桌面主题以及随之而来的针对各种定制的部分 API 的删除,给在发行版中维护 GNOME 堆栈或将其应用程序集成到其中的开发人员增加了麻烦。用于自定义基于 GTK 的应用程序和相关库的外观和感觉的所有建议选项都被拒绝,GNOME 团队的成员在社交媒体上做出了无礼的回应。

图片来自:https://www.linuxmi.com/solus-4-3.html

Joshua 还抱怨说,不到一年前发布的 GTK4 通过禁止直接继承稍微复杂了使用小部件的代码。但他看到了 X11 API 的取消带来了一个更重要的问题,特别是在获取已连接显示器的配置方面。为了完全支持 Wayland,GNOME 删除了 X 服务器轮询功能,指示开发人员编写自己的接口以直接访问 X11(或其他操作系统的 API,如果应用程序被证明是跨平台的)。

虽然删除了工作功能,但 GNOME 中的许多已知错误几个月或几年都没有得到修复(特别是,作者引用了一个滚动错误的例子,GtkListView当下拉列表在 中打开时切换到另一个窗口GtkPopover) . 同时,Joshua 在他自己使用 GTK 编写音频播放器 Koto 的经历中描述了它。

GTK 4 的发布没有达到 Solus 作者的期望,他们希望 libhandy 做出一些承诺的更改,但最终没有添加。Joshua 直言不讳地表示,在开发中使用 GTK 4 及更高版本是一种打击。

作为这些反思的结果,Solus 项目的领导者决定放弃在 Budgie 中使用 GTK,并在他们的用户环境中尽量减少 GNOME 的存在,继续选择以下 GUI 工具包之一:

  • EFL(Enlightment Desktop 的核心库);
  • Qt的;
  • iced(Rust 的跨平台 GUI 库)。

就Qt而言,Solus的开发者既不想写C++代码,又被Qt的“商业许可”和令人不快的回味所迷惑。iced 处于开发的早期阶段,许多有用的东西必须从头开始编写,但没有相关资源。

它仍然是最终被选中的 EFL。逐渐地,计划在 EFL 中编写自己的小部件,然后是主要的桌面应用程序,或者如果可能的话,改编与 GNOME 无关的现有应用程序。

至于分发包,GNOME版本会编译成单独的镜像,很少关注,只提供基本性能。Budgie 11 没有任何 GTK 依赖项。

发表评论