GTK+ 本周动态 – 29

在过去的一周里,GTK+ 的主分支有 20 次提交,添加了 883 行代码,删除了 2740 行代码。

计划和状态
  • Alex Larsson 致力于简化 GdkWindow,移除了原生和外部子窗口;长期计划是只将原生窗口系统表面用于顶层窗口
  • Alex 还在 gtk-devel-list 上 对 Benjamin 的 wip/otte/rendernode 分支进行了评论,提出了关于 GSK 渲染 API 未来工作的想法
  • Chun-wei Fan 更新了 Windows 后端,以确保它在主分支上继续构建和工作
  • Benjamin Otte 在更多的 GtkWidget 子类中实现了 snapshot() 虚函数。
  • GTK+ 路线图可在维基上找到。
值得注意的更改

在主分支上

  • Olivier Fourdan 更新了 Wayland 后端,以确保在需要时,子表面上的空输入形状得到更新;这允许其他工具包(如 Clutter)使用 GDK 子表面 API
  • Alex Larsson 从 GDK API 中移除了 gdk_window_reparent(),因为它未使用,并且允许实现只拥有顶层 GDK 窗口的目标
  • Benjamin Otte 从 GdkCellView 中移除了用于修改其背景的临时代码,因为单元格视图可以使用 CSS 来实现相同(或更好)的结果
  • Benjamin 还从 GtkFrame CSS 节点中移除了 border 节点,因为它执行了额外的即时模式裁剪,这使得渲染变得复杂

在 gtk-3-22 稳定分支上

  • Emmanuele 推出了 GL 渲染的修复程序,当使用缺少 GL_EXT_framebuffer_blit 扩展的 OpenGL ES 2.0 实现时,可以修复 GtkGLArea 的问题
已修复的错误
  • 776132 说明 gdk_window_create_similar_image_surface 和 cairo_surface_create_similar_image 之间的区别
  • 774534 [wayland] 如果没有 begin_paint()/end_paint(),则不会应用输入形状和不透明区域
参与其中

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

GTK+ 本周动态 – 28

在过去的一周里,GTK+ 的主分支有 103 次提交,添加了 5986 行代码,删除了 1896 行代码。

计划和状态
  • Benjamin Otte 正在进行 GSK 渲染节点 API 的 重构
  • Emmanuele Bassi 致力于一个 3.x 特定的分支,该分支允许 GDK 在 X11 平台上使用 EGL 而不是 GLX
  • GTK+ 路线图可在维基上找到。
值得注意的更改

在主分支上

  • Benjamin 合并了 GSK 的 Vulkan 渲染器,作为 GL 和 Cairo 渲染器的比较点。Vulkan 渲染器为有效的 Vulkan 实现以及 glslc 添加了一个新的可选依赖项
  • Vulkan 渲染器还导致了 GDK 内部 GL 绘图代码的大量重构,尽管这不应该在 API 中引起任何用户可见的更改
  • Benjamin 还实现了对 CSS border-spacing 属性的支持,遵循 CSS 2.1 规范

在 gtk-3-22 稳定分支上

  • Matthias 发布了 GTK+ 3.22.5。
已修复的错误
  • 775651 GdkX11-4.0.gir、GdkWin32-4.0.gir 和 Gsk-4.0.gir 在 Gdk-4.0.gir 准备好之前生成
参与其中

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

GTK+ 本周动态 – 27

在过去的一周里,GTK+ 的主分支有 65 次提交,添加了 1780 行代码,删除了 2429 行代码。

计划和状态
  • 计划在 2017 年 3 月举行 GTK+ 黑客马拉松,主要议题是提高性能,尤其是在渲染方面
  • Benjamin Otte 正在重做 GSK 的 GL 渲染器,以确保它与 GDK 渲染良好集成
  • 此外,Benjamin 还在研究基于 GSK 的实验性 Vulkan 渲染器
  • Timm Bäder 正在更改 GtkWidget 和 GtkContainer API,以将这两个类合并到单个场景图中
  • GTK+ 路线图可在维基上找到。
值得注意的更改

在主分支上

  • Matthias Clasen 更改了 GTK,使其在 X11 和 Wayland 下失去显示连接时干净地退出;此更改也已向后移植到稳定的 gtk-3-22 分支
  • Timm Bäder 清理了各种小部件,以便在测量其子项的大小时始终如一地使用 gtk_widget_measure()
  • Daniel Boles 修复了 GtkComboBox 中的一个错误,该错误导致在应用下游补丁的基于 Debian 的发行版中发出警告;有关更多信息,请参阅 错误 771242;此更改也已向后移植到稳定的 gtk-3-22 分支

在 gtk-3-22 稳定分支上

  • Lapo Calamandrei 向后移植了 GtkProgressbar 主题修复程序,以正确识别空和满状态
已修复的错误
  • 774915 [Wayland]:销毁子表面的父级会导致 _gdk_window_destroy_hierarchy: 断言失败
  • 771242 3.21:为某些类型的 GtkComboBox 打开菜单会导致 Gdk-CRITICAL 断言 ‘GDK_IS_WINDOW (window)’ 失败
  • 775410 gsk/Makefile.am 在 libgsk-4.la 链接之前运行 g-ir-scanner
  • 775319 [Wayland]:gdk_window_get_toplevel() 无法返回子表面的顶层
  • 775316 gtk_drag_source_set_icon_pixbuf 引用接收到的 pixbuf 的次数过多
  • 775212 GtkScaleButton 不会取消引用它引用的所有 GtkAdjustment
  • 775525 gtk_flow_box_get_child_at_index 不应因无效索引而崩溃
参与其中

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