GTK+ 3 更新

计划

当我们开始向 GTK+ 4 开发时,我们制定了一个计划,声明 GTK+ 3.22 将是 GTK+ 3 的最终稳定分支。并且我们坚持了一段时间。

它在一定程度上为我们服务得很好 - GTK+ 3 停止了剧烈的更改,这很受欢迎,并且我们终于看到应用程序从 GTK+ 2 迁移过来了。

现实

但是,GTK+ 4 的成熟需要时间(更多内容将在另一篇文章中介绍),一些很棒的新功能(例如字体变体支持或表情符号补全)在主分支中仍然未使用。我们还收到了来自一些移植应用程序的关于关键 API 的请求。

因此,我们决定最好改变路线,通过在 9 月发布 GTK+ 3.24 版本,允许在 GTK+ 3.x 中添加有限数量的新功能和 API。

现在 git 中有一个 gtk-3-24 分支。GTK+ 3.x 的维护已转移到该分支,我们将不再进行任何进一步的 3.22.x 版本发布。

亮点

这个新分支的第一个版本是 GTK+ 3.23.0,可以在这里找到

https://download.gnome.org/sources/gtk+/3.23/gtk+-3.23.0.tar.xz

此版本的亮点包括新的字体选择器功能,

  • 允许设置 OpenType 字体特性
  • 显示 OpenType 字体特性的示例
  • 允许选择 OpenType 字体变体
  • 支持选择的详细程度

新的表情符号功能,

  • 支持表情符号的补全弹出窗口
  • 删除 Ctrl-Shift-e 快捷键

gdk_window_move_to_rect 作为公共 API,

以及在 FreeBSD 上使用匿名共享内存的 Wayland 后端。

数字命理学

再进行一个 3.x 周期的副作用是,我们将拥有 GTK+ 3.24 作为最终的 GTK+ 3,这与 GTK+ 2.24 作为最终的 GTK+ 2 是一个令人愉快的巧合。

关于“GTK+ 3 更新”的 21 条评论

  1. 您好,
    这个最终的 3.24 版本是否会向后兼容(旧的最终)3.22 版本?

  2. @ramnasko:是的;只添加了新的 API,这是由 Inkscape 和 Firefox 等应用程序请求的。添加了新的弃用,以方便移植到 GTK4,但可以禁用它们。最后,没有主题更改。

  3. @pete:这是合成器的责任,而不是工具包的责任。

    资源和窗口系统表面只能使用整数缩放;字体渲染已经可以使用不同的 DPI 值。

  4. > 这是合成器的责任,而不是工具包的责任。

    那么为什么 Qt 提供分数缩放呢?

  5. @Emmanuele Bassi:这只是 Gtk 的问题,其他工具包(如 Qt、Android 工具包、Windows UWP 等)都可以很好地处理分数资源和窗口表面。

    这是 Gtk 团队一个糟糕且失败的设计决策导致了这个问题。而且它会带来更多麻烦,例如,在 1.5 倍的 4K 屏幕上,Gtk 应用程序混合使用 Gtk 和 3D 渲染内容,并且它们突然必须推送 6K,其中一半用户永远看不到。

  6. @pete:Qt 提供“分数缩放”的方式与 GTK 相同:用于文本以及通过文本内容调整大小的控件。资源和窗口系统资源的分数缩放没有任何意义:你不可能有一个 100.5 像素乘 200.2 像素的窗口,而且你不可能有一个没有模糊结果的分数缩放的图标资源。

    GNOME 允许你使用实验性切换来处理分数缩放,因为它没有经过大量测试;请参阅: https://www.omgubuntu.co.uk/2017/09/enable-fractional-scaling-gnome-linux

  7. @Janne Koschinski:很抱歉,但这没有任何意义。macOS、iOS、Windows、Qt 和 Android 在缩放方面使用与 GTK 相同的功能:通过提供缩放到所需输出的资源。如果内容不可用,显示服务器可以并且将会缩放内容,但结果会模糊,因为你无法生成你没有的像素。

评论已关闭。