GTK+ 3.0 发布

GTK+ 3.0 是 GTK+ 的一个主要新版本,包含太多更改,无法在此一一列出。

主要亮点包括

  • 全面使用 Cairo 绘图。 GDK 不再包装过时的 X11 绘图 API;我们已经彻底改变,现在完全依赖 cairo 来满足我们所有的绘图需求。 这也使我们能够删除其他几个以 X11 为中心的概念,例如 GCs、颜色映射和像素映射。
  • 现代输入设备处理。 GDK 中的输入设备处理长期以来一直是一个令人遗憾的被忽视的领域。 这种情况已经改变;在 3.0 版本中,GTK+ 通过完全支持多个指针、键盘和其他小工具,迈入了现代 XI2 的世界。
  • 一个新的主题 API,它采用熟悉的 CSS 语法进行主题配置,以及其他改进,例如动画状态转换。
  • 更灵活的几何管理,支持宽度决定高度,适用于窗口小部件和单元格渲染器。
  • GDK 的多后端支持。 在 GTK+ 2.x 中,您必须重新编译应用程序才能使其与不同的 GDK 后端一起工作。 在 GTK+ 3 中,可以将多个 GDK 后端构建到单个库中,并在运行时选择。
  • 简易应用程序支持。 随着 D-Bus 支持集成到 GIO 中,我们终于可以添加一个 GtkApplication 类,该类可以处理编写应用程序的许多平台集成方面,例如跟踪打开的窗口、确保唯一性、导出操作等。
  • 当然,还有一些新的窗口小部件,例如开关和应用程序选择器。

GTK+ 是数百名贡献者的成果,人数太多,无法在此一一列出。 但我想花点时间感谢一些做出重大贡献的人

  • Carlos Garnacho (Lanedo),感谢他在 XI2 支持和新主题系统方面的工作
  • Benjamin Otte (Red Hat),感谢他在 GDK 和 cairo 绘图方面的工作
  • Tristan Van Berkom (Openismus),感谢他在几何管理方面的工作
  • Colin Walters (Red Hat),感谢他在 GtkApplication 方面的工作
  • Ryan Lortie (Codethink),感谢他在 dconf、GSettings 和 GtkApplication 方面的工作
  • Javier Jardón,感谢他不知疲倦的代码、构建和文档清理工作

GTK+ 2.18 稳定版本发布

GTK+ 2.18 添加了新功能,同时保持了与 GTK+ 2.16 的源代码和二进制兼容性。GTK+ 2.18 中的新功能和改进的亮点包括

GtkInfoBar
一个新的小部件,用于在内容窗格内显示一个临时的“消息区域”。 该 API 类似于 GtkDialog,并支持针对不同消息类型(警告、错误等)的主题化

GtkBuilder

  • 可以在构建器标记中指定刻度标记
  • 可以在构建器标记中添加 GtkAssistant 操作小部件

GtkLabel
GtkLabel 可以显示嵌入的 URL,很像 SexyUrlLabe

GtkEntry
GtkEntry 已被重构为遵循模型-视图模式,其中 GtkEntryBuffer 作为模型。 这样做的一个预期用例是支持密码条目的“安全内存”

文件选择器

  • 默认情况下隐藏备份文件
  • GTK+ 记住文件列表的排序状态
  • 默认情况下显示文件大小
  • 可以使用 ::create-folders 属性禁用“创建文件夹”按钮

打印支持

  • GTK+ 支持针对 CUPS 服务器进行身份验证
  • 添加了对 PAPI 打印系统的后端支持
  • 文件和 lpr 后端可以每张纸打印多页
  • 文件后端可以生成 svg 文件
  • GTK+ 支持打印应用程序定义的“选择”,以及通常的页面范围
  • 打印对话框可以选择包含页面设置控件,从而避免在许多情况下需要单独的页面设置对话框

主题支持

  • 主题可以使用 ::invisible-char 样式属性设置在不可见条目中使用的项目符号字符
  • 文件选择器可以为 xdg 用户目录显示不同的图标。 图标名称为 folder-documents、folder-download、folder-music、folder-pictures、folder-publicshare、folder-templates 和 folder-video
  • GtkInfoBar 使用符号颜色,根据消息类型为其背景颜色设置主题。 颜色名称为 info_fg_color、info_bg_color、warning_fg_color”、warning_bg_color 等。

GDK 更改
GDK 已被重写为使用“客户端窗口”。 这意味着 GDK 维护自己的窗口层次结构,并且仅在必要或明确要求时才使用 X 窗口。 此更改的一些好处是

  • 减少闪烁
  • 能够对小部件进行转换和动画渲染
  • 更容易嵌入 GTK+ 小部件,例如嵌入到 Clutter 场景图中
  • 有关客户端窗口实际操作的一些简单示例,请参见 gdk-demo。 有关移动到客户端窗口时可能出现的问题的信息,请参见文档

有关更多详细信息和修复的错误列表,请参见
2.17.x 开发版本的公告:2.17.02.17.12.17.22.17.32.17.42.17.52.17.62.17.82.17.92.17.102.17.11

GLib 2.22 稳定版本发布

GLib 2.22 是一个稳定版本,在 GLib 2.20 的基础上增加了功能的增量改进,同时保持了二进制和源代码的兼容性。

主要新功能包括

  • GArray、GPtrArray、GByteArray、GTree 和 GMappedFile 可以进行引用计数。
  • 可以强制 GLib 重新加载 XDG 用户目录映射。
  • GLib 主循环支持每个线程的默认上下文。
  • GIO 现在为 IP 地址和 UNIX 域套接字地址提供类型和方法。
  • GResolver 为解析主机名、反向查找 IP 地址和解析 SRV 记录提供异步和可取消的 API。
  • GIO 中添加了对网络 IO 的支持,包括低级套接字 API 和用于网络连接和服务的高级 API。
  • GIOStream 及其子类已获得对读写访问的支持。
  • GIO 支持驱动器的启动和停止,可与外部硬盘驱动器外壳、磁盘阵列、iSCSI 设备等结合使用。
  • GIO 支持在卸载和弹出操作期间进行用户交互。
  • GIO 可以存储和检索每个文件的元数据。

有关更多详细信息和修复的错误列表,请参见 2.21.x 开发版本的公告:2.21.02.21.12.21.22.21.32.21.42.21.52.21.6

GTK+ 2.16.0 稳定版发布

GTK+ 2.16 添加了新功能,同时保持与 GTK+ 2.14 的源代码和二进制兼容性。GTK+ 2.16 的新特性和改进亮点包括

值得注意的新 API

  • GtkOrientable 是一个由所有具有水平和垂直变体的窗口小部件实现的新接口
  • GtkActivatable 是一个必须由用作操作代理的窗口小部件实现的新接口

GtkEntry 中的更改

  • GtkEntry 可以在条目的两侧显示图标,这些图标可以被点击、拖动等。
  • GtkEntry 可以在文本后面显示进度信息。
  • GTK+ 会为密码条目选择最佳的可用占位符字符,除非显式设置了一个。
  • GTK+ 在密码条目中显示大写锁定警告。
  • 现在可以使用“im-module”属性为每个窗口小部件选择输入法。

GtkScale 中的更改

  • GtkScale 现在可以为某些值显示注释标记。

GtkStatusIcon 中的更改

  • GTK+ 使用托盘图标规范的扩展来协商 RGBA 支持。GNOME 面板也支持这一点。
  • 如果平台允许,GtkStatusIcon 现在支持滚动事件、鼠标中键点击和富文本工具提示。

文件选择器中的更改

  • 文件选择器可以选择显示文件大小。
  • 必要时会挂载卷。
  • GTK+ 会记住文件选择器在多次调用时的窗口大小。
  • 非本地 URI 可以在位置条目中输入。

打印支持中的更改

  • 页面渲染可以推迟到线程中进行。

国际化支持

  • 键盘快捷键处理已更改,以解决长期以来关于 GTK+ 如何处理多种键盘布局的抱怨。现在,如果当前组中不存在来自当前组以外的其他组的键,GTK+ 才会使用它们。

GDK 更改

  • 当大写锁定状态更改时,GdkKeymap 会发出 state-changed 信号。
  • 有一个用于空白光标的预定义类型,GDK_BLANK_CURSOR。

有关更多详细信息和修复的错误列表,请参见
2.15.x 开发版本的公告

请参阅原始公告以获取更多信息和下载链接。

GLib 2.20 稳定版发布

GLib 2.20 是一个稳定版本,在 GLib 2.18 的基础上逐步改进功能,同时保持二进制和源代码兼容性。

主要新功能包括

  • GHashTable 和 GMarkup 的优化
  • 支持对 base64 字符串进行就地解码
  • 启动应用程序时,尽可能始终传递 fuse file:// uris,并让 gio 将这些 uris 转换回 gio uris。可以使用 X-GIO-NoFuse 桌面文件键关闭此功能。
  • GIO 有一个“阴影”挂载的概念

有关更多详细信息和已修复错误的列表,请参阅 2.19.x 开发版本的公告

请参阅原始公告以获取更多信息和下载链接。