GTK 3.99

本周,我们发布了 GTK 3.99,这只能意味着一件事:GTK4 真的要来了!

早在二月份发布 3.98 时,我们概述了在发布功能完备的 3.99 版本之前想要实现的功能。这是列表:

  • 键盘快捷键的事件控制器
  • 可移动的弹出窗口
  • 行回收列表和网格视图
  • 改进的辅助功能基础架构
  • 动画 API
我们做得怎么样?

我们已经从 4.0 阻止列表中删除了动画 API,因为它需要更广泛的内部重组,我们无法及时完成。但是所有其他功能都已进入各种 3.98.x 快照,辅助功能基础架构是最近才出现的最后一个。

这里已经介绍了一些功能,例如可移动的弹出窗口可缩放列表。 其他功能有望在未来在这里得到一些详细的评论。 在此之前,如果您对新的辅助功能基础架构感到好奇,可以看看 Emmanuele 的 GUADEC 演讲

还有哪些新功能?

我想强调的一个领域是,大量工作已经投入到充实新的可缩放列表基础架构中。 我们的过滤器和排序模型现在可以增量工作,因此当在后台过滤或排序大型列表时,UI 可以保持响应。

一个新的 macOS GDK 后端已合并。 它仍然有一些粗糙的角落,我们希望在现在到 4.0 版本之间将其平滑处理。

并且修复了许多小的回归,从微调按钮大小到树视图单元格编辑,再到自动滚动,再到 Inspector 导航,再到稍微渲染错误的阴影。

现在可以移植了吗?

GTK 3.99 是初次查看移植应用程序的完美时机。

我们非常感谢那些勇敢地使用 3.96 或 3.98 快照进行试用移植并为我们提供了宝贵反馈的早期采用者。 经过如此多的更改,我们不可避免地在 API 中犯了一些错误,在我们可以解决问题的时候获得反馈确实会对我们有所帮助。 告诉我们我们在文档中忘记涵盖的内容、缺少的示例或迁移指南中的空白也受到非常欢迎。

我们知道,一些移植工作将因对 GTK 3 的间接依赖而无法完成。例如,如果您正在使用 webkit webview 或 GtkSourceView 或 vte,您可能会发现很难尝试使用 GTK 4。

值得庆幸的是,其中一些库的移植工作已经顺利进行。 其他库,例如 libgweather 将需要一些工作才能将其核心功能与 GTK 3 依赖项分开。

我可以帮忙吗?

如上一节所述,对新 API、文档和移植指南的任何反馈都非常受欢迎和有帮助。

在许多其他领域,我们也可以使用帮助。 如果您熟悉 OS X API,您可以在完成 macOS 后端方面发挥真正的作用。

我们也开始集成基于 ANGLE 的 GL 渲染器,但是我们的着色器需要使其与 EGL 一起工作,我们才能利用它。 如果能在这方面提供帮助,我们将不胜感激。

下一步是什么?

我们致力于在年底前发布 GTK 4。 从现在到那时,我们正在进行更多关于辅助功能后端的工作,改进 macOS 后端,编写文档和示例。