开发者最新消息
GNOME 47 为使用 GNOME 平台的用户带来了大量新功能和增强功能。这些包括 GNOME 开发工具的更新、改进的库以及更新的语言绑定。
我们鼓励您访问 GNOME 开发者网站,以全面了解可用的资源。开始构建并贡献下一代 GNOME 体验吧!
GTK
-
默认 Vulkan 渲染器: 在支持 Vulkan 的系统上,GTK 现在默认使用 Vulkan 渲染器,从而增强图形性能和渲染能力。
- CSS 引擎增强: CSS 引擎得到了显著更新
- CSS 变量: 添加了对 CSS 变量的支持,从而实现更动态和可重用的样式。
- 新的颜色功能: GTK 具有更多颜色功能,包括相对颜色、
color-mix以及对非 sRGB 色彩空间的的支持。较旧的 API,例如@define-color和shade()现在已被弃用。有关更多详细信息,请访问 CSS Happenings。
-
图形卸载改进: GTK 和 GStreamer 中的图形卸载功能得到了增强。像 Snapshot、Showtime 和 Epiphany 这样的应用程序现在利用这些改进来获得更好的性能。
- 初始颜色管理支持: GTK 引入了初始的颜色管理支持,使其能够将 HDR 内容的色彩空间信息传达给合成器。这确保了 HDR 图像和视频的正确显示。此外,还引入了新的
GdkColorState对象来促进此功能。
Libadwaita
- 添加了新的小部件
-
弃用旧对话框 API: 旧的对话框 API 已被弃用,以支持新的实现。
-
CSS 重构: CSS 已更新,以符合最近的 GTK 更改,例如用变量替换命名颜色。
- 新的警报对话框样式: 引入了新的警报对话框样式,提高了视觉一致性和用户交互性。
Shell
- 仅 Wayland Mutter 构建: 在 Mutter 和 GNOME Shell 中进行必要的清理后,现在可以构建仅 Wayland 的 Mutter 合成器。GNOME Shell 将自动检测 Mutter 是使用还是不使用 X11 和 Xwayland 构建的,并相应地进行调整。
搜索
- 重命名组件: GNOME 搜索基础设施的两个组件已重命名以提高清晰度。TinySPARQL 数据库库和 GNOME 的文件系统索引器 LocalSearch 现在与已停止的 Tracker 项目分离。
- 向后兼容性: 旧的 Tracker API 仍然可用以实现向后兼容性,因此应用程序无需立即过渡到新的 API。但是,
tracker3命令行工具已被localsearch命令替换,用于终端搜索。 - TinySPARQL 的改进: TinySPARQL 库已重命名并更新了许多修复程序,以提高稳健性和标准合规性。还引入了一个基于浏览器的查询编辑器。
-
LocalSearch 的增强: 文件唯一 ID 现在使用更可靠的方法计算,这有助于防止在某些条件下重复处理文件。
- GNOME Shell 扩展: 有关移植扩展的信息,请参阅 移植指南。
Mutter: Wayland DRM 租赁
此协议由充当直接渲染管理器 (DRM) 主机的 Wayland 合成器使用,以向 Wayland 客户端租赁 DRM 资源。
合成器将为每个 DRM 节点通告一个 wp_drm_lease_device_v1 全局对象。在客户端绑定到 wp_drm_lease_device_v1 全局对象后的某个时间,合成器将发送一个 drm_fd 事件,然后是零个、一个或多个连接器事件。在发送所有当前可用的连接器后,合成器将发送一个 wp_drm_lease_device_v1.done 事件。
WebKitGTK
- Sysprof 集成: WebKit 现在可以在 Linux 上使用 Sysprof 进行分析,这是该平台上第一个与 Sysprof 集成的 Web 引擎。此集成支持 WebKitGTK 和 WPE WebKit 端口。
- 跟踪点: 该集成公开了 WebKit 内现有的跟踪点,包括与 JSC (JavaScriptCore)、WebProcess 等相关的跟踪点。未来计划考虑添加新的跟踪点。
- 性能优势: 这对于 Linux 上的 WebKit 来说是一个重要的里程碑,因为它能够潜在地提高性能、减少资源使用并提高整体效率。
- 视觉参考: 有关更多详细信息,请参阅 视觉参考。
Orca
-
辅助功能文档: 已创建一份新文档,以帮助应用程序开发人员使其应用程序对屏幕阅读器用户更易于访问。您可以在 此处 查看该文档。
-
静态文本呈现改进: 通过描述公开的静态文本的呈现得到了增强。此更新是正在进行的工作的一部分,旨在改进向依赖屏幕阅读器的用户呈现文本的方式。
-
消除格式化字符串: 消除用于呈现生成格式化字符串的过程已经完成,从而简化了屏幕阅读器用户的文本格式化。
-
盲文格式化字符串: 正在进行工作以消除盲文中的格式化字符串的使用。此更新旨在完成从格式化字符串的过渡,并提供了一个可供用户测试的分支。
-
全局 ARIA
posinset和setsize: ARIAposinset和setsize属性已设为全局,从而提高辅助功能。此更改还支持 GTK 开发人员解决与辅助功能树相关的问题,而无需公开所有对象。
PyGObject
- 增强的文档和教程: PyGObject(GNOME 平台库的 Python 绑定)的文档得到了显著改进,新增了教程。这些教程源自 Rafael Mardojai CM 的 PyGObject-Guide,后者又基于 Sebastian Pölsterl 的 PyGObject-Tutorial。这项工作涉及社区的贡献和重新许可为 LGPL。在 PyGObject 教程 处探索更新后的教程。