GTK+ 团队在 Guadec 的 BoF 日程中进行了一整天的计划会议,并且房间里挤满了人,包括来自多个下游(不仅仅是 GNOME)的代表。
我们也有一个相当紧凑的 议程。
GTK+ 3
我们首先回顾了我们之前 概述的 GTK+ 3 计划。
除了那里提到的内容外,我们还计划向后移植新的事件控制器,以使移植到 GTK+ 4 更容易。我们还将添加 meson 构建支持以帮助 Windows 构建。
3.24 版本将有效地成为 3.22 分支的延续,并且应该完全可以安全地作为稳定更新发布到发行版中。
我们计划在 GNOME 3.30 发布时及时发布 GTK+ 3.24.0。
GTK+ 4 剩余工作
当天的大部分时间都用于讨论 GTK+ 4。我们回顾了路线图上的剩余任务列表
- 完成 DND:GTK+ 级别的姿势、本地快捷方式
- 引入 GtkToplevel 并干净地支持弹出窗口
- 添加转换
- 创建一个快捷方式事件控制器来替换键绑定
- 将 GtkTextView 移植到渲染节点
- 分析 cairo 后端,确保其性能与 GTK+ 3 相当
- 移植各种依赖库
- vte
- webkit
- libchamplain
- gtk-vnc
- gtk-spice
这些任务中的大多数都有名称,但如果您想帮助完成这些任务中的任何一个,请务必联系我们!
值得注意的是,此列表中缺少之前在路线图上的一些内容
- 基于约束的布局 (emeus)
- 着色器编译器和应用程序提供的着色器
- 设计器支持
如果出现合并请求,所有这些仍然可以发生,但我们认为我们不应该阻止它们。它们可以在 GTK+ 4 外部开发,并成为 GTK+ 5 的素材。
GTK+ 后端
我们花了一些时间评估 GTK+ master 中 GDK 后端的状态。
Windows 后端的状态良好。我们有几个人帮助维护和开发它的功能,meson 使构建它容易得多,并且我们有它的 ci。
Quartz 后端的状态更糟。它没有保持在可构建的状态,没有人为其提供修复或功能开发,而且我们没有 ci。我们提供了一台可以用于 ci 的 macbook,并且有人建议我们可以将 travis ci 用于 OS X。
GTK+ 时间表
我们在这方面花费了很长时间,但没有达成 100% 的共识,但如果我们继续在未完成的工作上取得良好进展,那么在 2019 年春季发布 GTK+ 4 似乎是现实的目标。
当我们发布 GTK+ 3.96 时,我们还将宣布 GTK+ 4.0 的发布日期。我们希望能够在 GNOME 3.32 之前发布,以便 GNOME 应用程序开发人员可以将他们的主分支切换到 GTK+ 4,而不必担心这会中断 3.32 的其他开发。
应用程序移植
我们目前真的希望从应用程序端口获得反馈。但是我们处于一个有点困难的境地,因为在 GtkToplevel 和快捷方式控制器工作完成之前,我们不能合理地声称已经完成主要的 API 工作。
我们目前给应用程序作者的建议是
- 如果您有点冒险精神,请在分支上移植到 3.94。在 GTK+ 4 开发的剩余时间内,应该可以在不进行太多工作的情况下保持其工作。
- 如果您没有那么冒险,请等到 3.24 发布,使用它来准备您的移植,然后移植到 GTK+ 3.96。
- 无论如何,请将您的移植提供给用户进行测试,无论是作为定期发布还是作为捆绑了 GTK+ 的 Flatpak。
GLib 分流
下午,我们花了一些时间讨论 GLib。我们回顾了一系列较大和较小的项目。值得注意的亮点:GProperty 可能会在 2.60 中出现,我们可能很快就可以使用 g_autoptr。
其他想法
我们讨论了许多其他我们可以而且应该做的事情。
例如,有人建议(并普遍同意)我们应该将 gsk 合并到 gdk 中,因为它很小并且内部结构有些交织。还建议在 gtk/ 中创建子目录,例如用于 css 机制。