本周 GTK+ – 22

在过去的这一周里,GTK+ 的 master 分支有 132 次提交,增加了 10020 行代码,删除了 16435 行代码。

计划和状态
值得注意的更改

master 分支上

  • Alex Larsson 移除了 GDK 中 “屏幕外” 的 GdkWindow 支持,以及 GTK+ 中的 GtkOffscreenWindow 小部件,以简化 GDK 的内部结构。从现在起,屏幕外窗口的工作将由 GSK 完成。
  • Alex 还更改了 GTK+ 的构建方式:从现在起,将不再有单独的 GDK 和 GSK 共享库;相反,GTK+ 将提供一个包含 GDK 和 GSK 符号的单一共享库。这允许 GTK 使用内部符号,而无需通过私有函数指针表公开它们,并减少了调用 GDK API 的 PLT 内跳转。
  • Chun-wei Fan 改进了 GDK Windows 后端的 OpenGL 支持;GDK 将使用更准确的 GL 配置选项,如果核心配置文件上下文不可用,将回退到传统的 GL 上下文,就像 X11 和 Wayland 后端一样。
  • Fan 还更新了 Visual Studio 项目文件,以便构建 GSK;MSVC 2013 现在是编译下一个 GTK+ 稳定版本的最低要求版本。
  • Benjamin Otte 重构了 GTK 中失效排队的方式,并移除了 gdk_window_invalidate();这使得检查器能够显示 GTK 小部件失效在渲染期间引起的更新。
  • Benjamin 还移除了从 GDK 查询视觉效果的 API,并且检查窗口系统是否正在使用 RGBA 视觉效果和合成的 API 已从 GtkWidget 移动到 GdkDisplay
修复的错误
  • 773479 GtkShortcutType 开发文档中的拼写错误
  • 773100 将 libgdk.so 合并到 libgtk.so 中
  • 773528 改进 Windows 上的 GL 支持
参与其中

有兴趣参与 GTK+ 的开发吗?请查看为新手提供的错误列表,并加入 irc.gnome.org 上的 IRC 频道 #gtk+。

本周 GTK+ – 21

在过去的这一周里,GTK+ 的 master 分支有 335 次提交,增加了 13631 行代码,删除了 37699 行代码。

计划和状态
  • Emmanuele 将他的 wip/ebassi/gsk-renderer 分支合并到 master 分支,有效地将 GSK 添加到 API 中;目前正在努力改进其性能,并将更多小部件移植到 GskRenderNode API。
  • Benjamin 添加了用于输入和子窗口的新 GdkWindow 构造函数,它们最终将取代通用的 gdk_window_new() API。
  • Timm 从 GTK+ 中移除了更多已弃用的 API。
  • Timm 还用单个 GtkWidgetClass.measure 虚函数替换了所有的 get_preferred_* 系列虚函数,从而简化了小部件的实现。
  • Matthias 为希望将其代码从 GTK+ 3.x 移植到 GTK+ 4.x 的应用程序开发人员启动了一个新的迁移指南。
  • Chun-wei Fan 根据弃用和 API 更改更新了 GDK 的 Windows 后端。
  • GTK+ 路线图可在 wiki 上找到。
值得注意的更改
  • GDK 现在尝试更好地检测 GL 上下文是否正在使用 OpenGL ES、核心 OpenGL 配置文件或传统的 OpenGL 配置文件。
  • gtk-3-22 分支中为已从 master 分支中移除的 API 进行了新的弃用。
    • gdk_window_set_debug_updates() — 将由 GSK 中适当的渲染代替。
    • GtkContainer:child — 没有替代品,因为它只是 C 中用于可变参数函数的便利属性。
    • gdk_window_set_background* 系列函数 — 没有替代品。
    • gdk_window_set_wmclass() — 没有替代品,因为它已经被标记为“请勿使用”。
    • gdk_drag_dest_set_proxy() — 没有替代品。
    • 各种 GdkScreen API — 已被 GdkMonitor 替换。
  • Jaime Velasco Juan 在 gtk-3-22 分支中极大地改进了“原生” Windows 主题,以更好地匹配 Windows 7 的视觉效果。
  • Lapo Calamandrei 修复了 Adwaita 中圆形按钮的外观。
修复的错误
  • 772922 GtkMenu:尝试更频繁地使用 gdk_window_move_to_rect()
  • 773029 [gucharmap] 样式设置信号问题
  • 773246 css 颜色定义文档中的拼写错误
  • 773180 不要猜测我们的 GDK GL 上下文是否为 GLES
  • 773113 测试:通过加载正确的图标来修复剪贴板测试
  • 771694 GtkSourceView 完成弹出窗口未显示,未找到捕获的席位
  • 771205 带有圆形样式类的按钮在底部突然出现裁剪的阴影
参与其中

有兴趣参与 GTK+ 的开发吗?请查看为新手提供的错误列表,并加入 irc.gnome.org 上的 IRC 频道 #gtk+。

本周 GTK+ – 20

在过去的这一周里,GTK+ 的 master 分支有 191 次提交,增加了 4159 行代码,删除了 64248 行代码。

计划和状态
  • Benjamin 将他的 wip/otte/gtk4 分支合并到 master,该分支移除了各种已弃用的 GDK 和 GTK+ API。
  • Timm 将他的 wip/baedert/box 分支的部分内容合并到 master,该分支移除了已弃用的主题引擎 API 和其他旧样式 API。
  • GTK+ 路线图可在 wiki 上找到。
值得注意的更改
  • Emmanuele 在 master 中的默认构建中添加了各种编译器标志,以便在开发过程中尽早捕获问题,并希望在推送到远程存储库之前捕获问题。
  • Matthias 为 GTK+ 添加了新的 编译器要求;如果您希望构建 GTK+,您的编译器必须至少支持 C99 的已知子集。
修复的错误
  • 772683 glarea 演示中使用 FALSE 而不是 gint
  • 772926 shortcutswindow:set_section_name() 的工作版本
  • 772775 菜单绑定需要一个属性来强制水平按钮显示提示为 LTR
  • 771320 [Wayland] 映射的小部件在 gnome-contacts 中显示在错误的位置
  • 767713 在 wayland 中全屏模式存在错误
参与其中

有兴趣参与 GTK+ 的开发吗?请查看为新手提供的错误列表,并加入 irc.gnome.org 上的 IRC 频道 #gtk+。

本周 GTK+ – 19

在过去的这一周里,GTK+ 的 master 分支有 24 次提交,增加了 3731 行代码,删除了 3351 行代码。

计划和状态
  • Matthias 发布了 GTK+ 3.22.1,并创建了 gtk-3-22 分支用于稳定版本发布
  • master 分支上的窗口现在已为 4.0 的开发打开
  • Benjamin Otte 已开始在其 wip/otte/gtk4 分支中着手移除 3.x 中已弃用的 API
  • Timm Bäder 正在其 wip/baedert/box 分支中移除已弃用的样式 API
  • GTK+ 路线图可在 wiki 上找到。
值得注意的更改
  • Matthias 正在开发构建系统,以确保 master 分支可以与 gtk-3-22gtk-2-24 稳定分支并行安装
  • 用于基于 autotools 的构建系统的旧的且已弃用的 AM_PATH_GTK_3_0 m4 宏已从 master 分支中删除;依赖 GTK+ 3.x 的项目应该已经移植为仅使用 pkg-config 和 PKG_CHECK_MODULES 宏。
修复的错误
  • 772695 即使在 RTL 布局中,也从左到右显示键盘快捷键
  • 772345 placesviewrow:当 busy_spinner 可见时,会偏移行上的其余小部件
  • 772415 避免调用 eglGetDisplay
  • 772389 在覆盖模式下向 GtkEntry 控件追加字符会发出响铃
参与其中

有兴趣参与 GTK+ 的开发吗?请查看为新手提供的错误列表,并加入 irc.gnome.org 上的 IRC 频道 #gtk+。