开发者最新消息
GNOME 49 为开发者带来了诸多改进,包括增强的工具、改进的库和更新的语言绑定。请继续阅读以了解最新消息。
GTK
GNOME 49 伴随着新的 GTK 4.20。这个新版本中,GTK 进行了多项显著改进。
- GTK 现在支持 YUV 颜色格式,从而扩大了视频和图像管道的兼容性。
- 符号图标渲染已重构,从而提高了渲染效果。
- GTK 的 CSS 支持增加了用于检测颜色方案和对比度偏好的媒体查询。
- 包含多项可访问性改进,包括对条目和文件选择对话框的可访问性增强。
- 开发者还可以利用新的路径相交 API 和组件传输节点来进行更高级的图形操作。
- GtkImage 现在尊重
:pixel-size属性和/或-gtk-icon-sizeCSS 属性,而不是将可绘制对象拉伸到分配的大小。 gdk-pixbuf现在使用 glycin 作为其 首选图像加载器,从而带来安全优势和更广泛的格式支持。
Glib
最新的稳定 GLib 版本是 2.86.0。它包含多项增强功能
- GLib 的默认日志处理程序现在在其 journald 日志消息中包含
SYSLOG_IDENTIFIER字段,这得益于 Axel Karjalainen 的工作。这使得更容易在系统日志中过滤和定位应用程序的消息,从而改进调试和监控工作流程。 - 对
gdbus call中嵌套容器中的文件句柄的支持也已添加。Julian Sparber 贡献了此功能,这使得可以直接从命令行测试某些 D-Bus API(例如桌面门户)变得更容易。
Libadwaita
GNOME 49 带有 Libadwaita 1.8,这是 GNOME 专用 UI 平台库的最新版本。新版本包含多项显著的新功能和改进。
AdwShortcutsDialog 为现在已弃用的 GtkShortcutsWindow 提供了现代替代方案,并且是应用程序记录键盘快捷方式的推荐方法。新的小部件具有自适应性,并受益于集成的搜索。此外,还引入了 AdwShortcutLabel 作为 GtkShortcutLabel 的替代方案,可用于在其他界面中显示键盘快捷方式。
引入了一个新的 .document 样式类,以提供更适合大型文档文本的排版选项。
最后,新版本包含许多其他增强功能,包括 AdwPreferencesGroup 和 AdwPreferencesPage 中的新功能。请查看 Libadwaita 1.8 博客文章 以获取更多详细信息。
Builder
GNOME Builder 在此新版本中获得了一些新功能,以提高编码效率和乐趣
- 内联 Git blame 显示最后修改每一行代码的人员。
- 增强的文档地图 现在可以一目了然地显示更改和诊断信息。
- 改进的 LSP 支持 包括增强的 Markdown 渲染和悬停弹出窗口和文档中的语法高亮显示。
- 新的 Arduino 支持 使编译和上传到兼容板的草图成为可能。包含用于管理库和平台的图形界面,以及 Arduino 项目模板(必须安装
arduino-cli)。
Mutter 开发工具包
Mutter 和 GNOME Shell 在 GNOME 49 中带有一个新的开发工具。该工具被称为 Mutter 开发工具包,它取代了以前运行 GNOME Shell 开发版本的嵌套方法。
Mutter 开发工具包使用 Toolbx 以可靠且简便的方式在与主机系统隔离的情况下构建 Mutter 和 GNOME Shell。它与旧的嵌套方法相比,具有许多显著的改进,包括不依赖 X11、改进的 HiDPI 处理以及模拟触摸输入的能力。
有关如何使用该工具的教程,可用于 Mutter 和 GNOME Shell。
Sysprof
Sysprof 在新版本中包含两项增强功能。首先,现在可以 按标记进行过滤,这是一种分析大型分析数据集的有用方法。其次,Sysprof 现在具有 更丰富的标记工具,能够捕获 DR M vblank、合成器、GTK 渲染、WebKit、Mesa 以及整个堆栈中的完整帧周期标记。
手册
Manuals 是一种新的集成参考和文档工具,它取代了 Devhelp。Manuals 旨在提供现代且统一的开发人员体验,它提供对 API 参考、指南和其他文档的访问,界面简洁明了。
Manuals 可通过 Flathub 获取,现在是 GNOME 中浏览开发人员文档的推荐解决方案。
针对发行版
GNOME 49 针对发行版进行了一些重要的更改。
禁用 X11 会话
GNOME 49 中默认情况下已禁用对专用 X11 会话的支持。此更改适用于 gnome-session、gdm、mutter 和 gnome-shell。虽然可以作为构建选项为这些模块中的每一个启用 X11 支持,但发行版应注意,这在未来的 GNOME 版本中可能无法实现。
此更改是 GNOME 长期迁移到 Wayland 的一部分。依赖 X11 的应用程序继续通过 xwayland 支持。
有关此更改的更多详细信息,请参阅 Jordan Petridis 的博客文章。
更强的 systemd 依赖性
GNOME 49 中的许多 GNOME 模块增加了对 systemd 的依赖性
gdm增加了对 systemd 的userdb的依赖。- 已删除
gnome-session中的服务管理器,取而代之的是 systemd。
这些更改允许对这些模块进行重大清理和现代化改造,以及新功能。Adrian Vovk 提供了一个 关于此主题的详细博客文章,为发行版提供指导。