针对开发者的更新
除了为 GNOME 桌面自身提供稳定的基础之外,GNOME 2.12 开发平台还为特别适合第三方软件开发者。在保持向后兼容性和 API 稳定性的同时,GNOME 2.12 增加了一些为用户可见的改进以及 API 的改进。您还会发现,开发能够运行于 Unix 和 Windows 的应用程序变得更加轻松,而由于与重要标准更加融合,GNOME 与其它桌面的互操作性也得以增强。
3.1. GTK+ 的改进
在 GNOME 2.12 中,GTK+ 2.8 提供了一些有趣的,用户可直接看到的功能特性,例如
- 现在,GTK+ 采用 freedesktop 的 Cairo 绘图 API,这使得自定义部件的实现和新效果绘制更加容易。不久的将来,GNOME 就可以使用新的图形效果并充分利用硬件加速,同时还可改进我们的打印 API。
- 拖放操作已经做了改进,在拖曳文本时可直接预览文本块。
另外,所以基于 GTK 的应用程序无需重新编译就可使用,为了开发的方便,已经添加了一些新的 API。它们包括:
- 现在,GtkFileChooser 处于保存模式时,可以显示文件覆盖的确认对话框。
- GtkWindow 可以向窗口管理起发送紧急提示,比如,让窗口标题发生闪烁。
- 现在,GtkIconView 实现了 GtkLayout 接口,可通过 GtkCellRendererCells 来渲染条目。
- 现在,GtkTextView 可以让您设置段落的背景颜色,枚举时可跳过不可见的文本。
- GtkScrolledWindow 拥有可获得滚动条的函数。
- 现在,GtkMenu 支持垂直(旋转的)菜单,在像屏幕键盘类的特殊应用程序中也可以忽略键盘焦点。
- 现在,GtkEntryCompletion 的弹出菜单可以超过条目的宽度,而在只有一个匹配项时,弹出菜单也可隐藏。
- 现在,GtkAboutDialog 的许可文本已经被封装。
- 现在,GtkToolButton 可以使用由图标主题指定的图标,而且在拖曳之时也使用该图标。
- GtkSizeGroup 可以忽略隐藏的窗口部件。
也请参看完整的 GTK+ 2.8 中新有的 API 清单。
3.2. 跨平台
GTK+ 库已流行于需要支持多平台的众多开发者之中,这些平台包括 Microsoft Windows、Linux 和 UNIX。例如,艺术家们可可以在 Linux 或者 Windows 上使用 GIMP 和 Inkscape 来编辑图像。
现在,很多 GNOME 库,包括 ORBit2,libbonobo,libgnome,libbonoboui,libgnomeui 还有 gnome-vfs,都能在 Microsoft Windows 上使用,这样,GNOME 应用程序在该平台的创建和发行就更容易了。虽然,这种支持仍未全部完成,但对某些程序而言,这已经足够了。完整的支持有望在 GTK+ 和 GNOME 的下一个版本发布时完成。
3.3. 标准的遵循
GNOME 与众多团体,如 freedesktop.org 紧密合作。这种合作为 GNOME 用户带来的最大好处就是同时支持多项标准。互操作性的支持使得用户能轻松地让 GNOME、KDE 及其它应用程序一起工作,同时,遵循各种开放的规范有助于用户数据避免陷入私有格式的泥沼之中。
GNOME 开发者正通过 Freedesktop.org 与自由软件社区的其他成员一道致力于开放标准的建设以增强软件之间的互操作性。这些标准包括:共享的 MIME 数据库、图标主题、近来用过的文件、菜单、桌面条目、缩略图管理以及系统托盘规范。此外,GNOME 还支持 CORBA、XML、Xdnd、EWMH、XEMBED、XSETTINGS 和 XSMP。