全新设计的 gtk.org 现已上线运行!

最初,https://gtk.org.cn 的网站计划与 GTK+ 3.0 的发布同步更新,但遇到了一些挫折,需要更多的审查。最终,在 Devin Samarin 的大力帮助以及 GTK+ 社区的意见下,它终于上线运行了。

我们还有更多改进网站的计划,例如 GTK+ 的商业支持,这在当前网站上并不明显。作为新网站更新的一部分,我们现在列出了工具包中更多最近建立的维护者(在开发页面上可见)。

GTK+ 3.0 发布

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

主要亮点包括

  • 整个过程中使用 Cairo 绘图。GDK 不再包装过时的 X11 绘图 API;我们已经彻底放弃了这种方式,现在完全依赖 Cairo 来满足我们所有的绘图需求。这也使我们能够删除其他几个以 X11 为中心的概念,例如 GC、颜色映射和像素映射。
  • 现代输入设备处理。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,感谢他不知疲倦的代码、构建和文档清理工作

GLib 2.19.6 不稳定版本发布

这是通往 GLib 2.20 的第六个开发版本。
此版本修复了7 个错误

  • 常规
    • 新的格式宏,用于打印 goffset 数据:G_OFFSET_FORMAT
  • GIO
    • 添加 GFilter{Input,Output}Stream::close-base-stream 属性,该属性确定在过滤器流最终确定时是否会关闭基本流。
    • g_data_input_stream_read_line 和 …_read_until 现在具有异步变体。

阅读原始公告以获取更多信息和下载。

GTK+ 2.15.1 不稳定版本发布

这是通往 GTK+ 2.16 的第一个开发版本。
此版本修复了35 个错误

  • GtkFileChooser
    • 记住文件选择器在多次调用中的大小
    • 处理在条目中输入的 URI
    • 改进自动完成,特别是对于 URI
  • GtkEntry
    • 新的属性“im-module”,用于选择每个小部件的输入法
    • 新的与图标相关的 API 已重命名以保持一致性
    • 添加了图标工具提示的属性和设置器
  • GtkTextView
    • 新的属性“im-module”,用于选择每个小部件的输入法
    • 新的信号“paste-done”,允许更好地处理异步粘贴
  • GtkScale
    • 用于添加带注释的标记的新 API:gtk_scale_add_mark。
  • GtkAction
    • 重新设计了操作和代理交互的方式,使交互不那么临时,更具可扩展性,并且更适合在 glade 等 GUI 构建器中支持。要用作代理,小部件现在必须实现 GtkActivatable 接口,并且 GtkActivatable 实现负责将其外观与操作同步以及激活操作。现在,所有常用作代理的小部件都实现了 GtkActivatable。这是一个很大的变化,并且很可能会破坏 GtkAction 的一些当前用户,因此欢迎就此造成的任何问题提供反馈。
    • 添加一个“gicon”属性,以使用 GIcon 指定图标
  • GDK
    • 在 X11 上,GDK 现在会缓存光标以避免光标主题的开销
    • 用于空白光标的新光标类型:GDK_BLANK_CURSOR
  • 新的弃用
    • gtk_scale_Button_get_orientation()
    • gtk_scale_button_set_orientation()
    • gtk_action_connect_proxy()
    • gtk_action_disconnect_proxy()
    • gtk_widget_get_action()
    • gtk_action_block_activate_from()
    • gtk_action_unblock_activate_from()
    • 直接访问“gtk-action”对象数据
  • 与翻译人员相关的更改
    • 导航和媒体库存标签现在有单独的消息上下文
    • Caps Lock 警告字符串已更改

阅读原始公告以获取更多信息和下载。

GTK+ 2.15.0 不稳定版本发布

这是通往 GTK+ 2.16 的第一个开发版本。

2.14.x 和 2.15.0 之间的变更概述

  • GtkFileChooser
    • 可选择显示文件大小
    • 必要时挂载卷
    • 选择更好的 MIME 图标
  • GtkEntry
    • 可以在条目的两侧显示图标,这些图标可以设置为可点击、拖动源等
    • 可以显示进度信息
    • 除非显式设置,否则为不可见条目选择最佳可用占位符字符。请参阅 invisible-char-set 属性
    • 输入法在不可见条目中再次可用
    • 不可见条目可以选择显示大写锁定警告。可以使用 caps-lock-warning 属性关闭此功能
  • GtkStatusIcon
  • GtkLinkButton
    • 尊重用户定义的工具提示
    • 具有默认 URL 钩子
  • GtkBuilder
    • 可以构造菜单
    • 可以将加速键组与窗口关联
    • 子属性现在可以翻译,例如 GtkAssistant::page-title
  • GtkOrientable
    • 所有具有水平和垂直变体的窗口小部件实现的新接口
    • 打印支持
    • 打印到文件可以保存到非本地文件
    • 页面渲染可以延迟到线程,以避免阻塞主循环
  • GDK
    • 当 Caps Lock 状态更改时,GdkKeymap 会发出 state-changed 信号
  • 新弃用的函数
    • gdk_window_get_toplevels(),
    • gtk_font_selection_dialog_get_apply_button(),
    • gtk_status_icon_set_tooltip(),
    • gtk_toolbar_set_orientation()
  • 与主题作者相关的更改
    • GtkMenu::arrow-placement 样式属性允许更节省空间的滚动菜单布局
    • 子菜单箭头可以相对于字体大小进行缩放,使用
    • GtkMenuItem::arrow-scaling 样式属性
    • 主题可以设置 GtkDialog::content-area-spacing 样式属性来更改内容区域元素之间的间距
    • GtkEntry::state-hint 样式属性可用于使 GTK+ 在绘制条目背景时传递正确的状态
    • GtkEntry::prelight 样式属性可用于在鼠标悬停时抑制条目中图标的预先突出显示
  • 与翻译人员相关的更改
    • GTK+ 已切换为使用双参数 C_() 宏而不是 Q_() 来处理带有上下文的消息

阅读原始公告以获取更多信息,包括错误修复和下载位置。

GTK+ 项目的新博客!

自从更新 gtk.org 以来,我收到了一些评论,其中特别有一个要求提供一个 RSS,他们可以使用该 RSS 跟踪有关 GTK+ 的信息和新闻。因此,设置这个博客就是为了实现这个目的。

如果有人希望被添加为能够发布有关 GTK+ 中新的和很酷的事情的博客,请告诉我,我会添加你。目前只有 ,以及即将加入的 andreas