本周 GTK+ – 32

在过去的这一周里,GTK+ 的主分支有 106 次提交,添加了 7340 行代码,删除了 12138 行代码。

计划和状态
  • Matthias Clasen 发布了 GTK+ 3.89.3
  • GTK+ 的路线图可在 wiki 上找到
重要变更

在主分支上

  • Benjamin Otte 简化了 Vulkan 渲染器的剪裁着色器
  • Benjamin 还从 CSS 解析器中移除了“假设没有尺寸的数字是像素”的回退代码
  • Daniel Boles 为 GtkMenuGtkComboBoxGtkScale 小部件添加了各种修复
  • Daniel 还简化了 GtkComboBox 的内部结构,并将大多数内部小部件移动到 GtkBuilder UI 文件中
  • Matthias Clasen 从 GTK+ 初始化函数中移除了命令行参数处理;gtk_init() 现在不接受任何参数。此外,gdk_init() 也已被删除,因为 GDK 不再是一个单独的共享库。编写 GTK+ 应用程序的推荐方法仍然是使用 GtkApplication,它处理库初始化和主循环
  • Timm Bäder 合并了他的分支,该分支使 GtkWidget 默认可见,除了 GtkWindowGtkPopover 类;Timm 还从 API 中移除了 gtk_widget_show_all(),因为它不再有用
  • Timm 修改了 GtkShortcutsShortcutGtkFileChooserButtonGtkFontButton,使其直接继承自 GtkWidget,利用了基类 GtkWidget 中的新场景图 API

在 gtk-3-22 稳定分支上

  • Ruslan Izhbulatov 修复了 GDK 的 Windows 后端,以确保它在远程显示器上工作
已修复的错误
  • 777527 GDK W32:通过 RDP 工作时,GTK 应用程序中的下拉菜单不可见
  • 770112 文档中记录的 <alt>left 快捷键在 Wayland 上不起作用
  • 776225 [wayland] 下拉菜单放置在屏幕上的某个位置
  • 777363 [补丁] wayland:避免不必要的 g_list_length 调用
参与其中

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

本周 GTK+ – 31

在过去的这一周里,GTK+ 的主分支有 52 次提交,添加了 10254 行代码,删除了 9466 行代码。

计划和状态
  • Alex Larsson 正在研究两个独立的分支,以优化在构建 GSK 渲染树时的内存分配和碎片,在分析树构建代码之后
  • Timm Bäder 正在研究一个主题分支,以切换小部件为默认可见
  • GTK+ 的路线图可在 wiki 上找到
重要变更

在主分支上

  • Rui Matos 在 Wayland 后端中添加了对 gtk-enable-primary-paste 设置键的支持;这需要较新版本的 gsettings-desktop-schemas
  • Matthias Clasen 和 Alex Larsson 重构了一些 GSK、GtkWidget 和 CSS 内部结构,以避免在分析渲染代码后进行过多的类型转换和类型检查
  • Matthias 为 GtkAboutDialog 小部件添加了一个“系统”选项卡,用于自由格式的系统相关信息
  • Matthias 还更新了 -gtk-icon-filter 的移植文档
  • Benjamin Otte 将 X11 后端更改为始终无条件地调用 XInitThreads(),以便安全地使用 Vulkan 渲染 API;这应该是安全的,但鼓励进行测试
  • Benjamin 更新了 GtkSnapshot API,以确保仅在快照完成后才能使用渲染节点
  • Benjamin 还修复了 CSS 图像的处理,这些图像没有明确的大小,但应根据其纵横比进行缩放
  • Timm Bäder 为 GtkInfoBar 小部件添加了一个 revealed 属性,并将 GtkActionBar 代码移植为使用它

在 gtk-3-22 稳定分支上

  • Ruslan Izhbulatov 致力于修复 Windows 下键盘处理的各种情况,包括与 AeroSnap 的交互;Ruslan 还修复了 bug 165385,该 bug 将在 10 天后满 12 岁
  • Carlos Garnacho 更改了 Wayland 后端的 EGL 处理,以禁用交换间隔,因为合成器负责定时渲染
  • Matthias Clasen 弃用了已从开发分支中删除的其他 API
已修复的错误
  • 776031 W32:WinKey+向下键最小化最大化的窗口而不是还原它
  • 165385 Win32 键盘处理仍然不完整
  • 769835 在 Wayland 上,包含 GtkGLArea 的应用程序如果不在当前工作区上则停止响应
  • 774726 GtkTreeView 拖放:gtk_drag_finish 从 3.20 版本开始重新排序时删除行
  • 769214 暂停键的 keyval 字段未正确填充
  • 776485 GDK W32:无法通过系统菜单还原最大化的窗口
  • 776604 关于对话框:添加一个“系统”选项卡
  • 775846 gdk/wayland:添加对 gtk-enable-primary-paste gsetting 的支持
参与其中

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

本周 GTK+ – 30

在过去的这一周里,GTK+ 的主分支有 81 次提交,添加了 12205 行代码,删除了 12625 行代码。

计划和状态
  • 在年底休息之后,欢迎回到本周 GTK+
  • GTK+ 的路线图可在 wiki 上找到
重要变更

在主分支上

  • Timm Bädert 合并了他关于将小部件的场景图直接移动到 GtkWidget 类中的工作;这允许小部件具有内部子项,而无需子类化 GtkContainer
  • Timm 还致力于将当前使用内部 CSS 小工具 API 的小部件移植为复合小部件,例如 GtkSwitch
  • Benjamin Otte 和 Georges Basile Stavracas Neto 一直致力于使 Vulkan GSK 渲染器在 Wayland 上工作
  • Benjamin 还致力于提高 Vulkan 渲染器的效率
  • William Hua 致力于改进 GDK 的 Mir 后端,使其具有剪贴板支持

在 gtk-3-22 稳定分支上

  • Matthias Clasen 发布了 GTK+ 3.22.6
已修复的错误
  • 776627 更正 PostScript 的大小写
  • 776868 改进 GtkEntry:attributes 的文档
  • 776560 icon-browser:窗口以非常窄的尺寸打开,只显示 1 列图标
  • 775732 mir:缺少剪贴板支持
  • 776736 build:修复 vulkan 检测
  • 776807 当 Gtk 通过选项组初始化时,GtkInspector 不会出现
参与其中

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