#27 无界

2022年1月21日 • 10 条笔记 • 由 Felix 整理

GNOME 项目在 1 月 14 日至 1 月 21 日这一周内的更新情况。

核心应用和库

GNOME Shell

核心系统用户界面,用于启动应用程序、切换窗口、系统搜索等。

Sam Hewitt 发布公告

桌面 Shell 将迎来 GNOME 42 的重大视觉刷新!除了调色板更新外,Shell 中的元素也采用了更圆润的外观。面板菜单也进行了重大重新设计,子菜单采用了新的样式。屏幕键盘在关键视觉反馈和单词建议方面得到了重大改进。更不用说大量的其他小修复了。

Settings

配置 GNOME 桌面的各个方面。

Georges Stavracas (feaneron) 报道

本周,我将在线帐户面板移植到 GTK4,并在设置中完成了显示和应用程序面板的重新设计。

WebKitGTK

GTK 端口的 WebKit 渲染引擎。

adrian 报告

我们发布了 WebKitGTK 2.34.4,其中包含许多安全修复。虽然发布说明很简单,但值得一提的是,它包含了一个重要的补丁,用于修复 Safari IndexedDB 漏洞,该漏洞最近被公开。

软件

允许您安装和更新应用程序和系统扩展。

Philip Withnall 发布公告

Milan Crha 改进了 GNOME Software 中 Flatseal 所需权限的显示

GJS

在你的 JavaScript 程序中使用 GNOME 平台库。GJS 驱动 GNOME Shell、Polari、GNOME Documents 和许多其他应用程序。

ptomato 宣布

本周 GJS 中的更新

  • GJS 将其底层的 JS 引擎升级到 SpiderMonkey 91,带来了许多现代 JS 的便利性。这次升级由 Evan Welsh、Chun-wei Fan 和我共同完成。以下是一些示例
    • #privateFields#methods()
    • ??=&&=||= 运算符
    • at() 方法,用于数组和字符串,允许使用负数进行索引
    • Promise.any()
    • 错误原因
    • WeakRefs
    • 更多支持区域设置的格式化功能
  • Evan 还为 GJS 添加了符合标准的 setTimeout()setInterval(),现在它们可以在 Web 浏览器中使用,同时仍然与 GLib 的主循环集成。
  • Evan 添加了对 GObject.Object.new() 和 GObject.Object.new_with_properties() 的覆盖,使其能够与属性一起工作。
  • 以前,在调试器提示符下按 Ctrl+D 会打印错误消息而不是退出。我修复了这个问题。
  • 我为 SyntaxError 消息添加了列号,以配合行号。
  • 再次感谢 Evan 提供的各种其他贡献。

Circle 应用和库

gtk-rs

为 GNOME 堆栈中的基本库提供 Rust 语言的安全绑定。

Bilal Elmoussaoui 报告

经过数月对 gtk-rs 绑定的工作,我们终于发布了新版本!🎉 该版本支持各种新的 API,例如

  • gtk4-rs 中的 BuilderScope 支持,这意味着你终于可以在 UI 文件中设置函数名称,并在 Rust 代码中定义回调函数
  • gdk3 wayland API 绑定
  • World/Rust 中发布了几乎所有基于 gir 的 Rust 绑定
  • 一个全新的 GStreamer 插件,允许你将你的管道“流式传输”到 GdkPaintable。你可以在 博客文章 和 gstreamer 绑定/插件发布 博客文章 中找到更多详细信息

第三方项目

Romain 报告

我编写了 UI Shooter,一个用于从 UI 文件中截取 GTK4 小部件屏幕截图的工具。

它允许加载 CSS、资源和翻译,设置缩放比例和深色配色方案,并使用 libadwaita 的样式表。它主要用于无头环境,因此我提供了一个 容器镜像,运行 Weston 组合器,可以按原样使用或根据需要扩展。

我在 Metadata Cleaner 的 CI 管道中使用它来 自动截取各种小部件的屏幕截图,用于在添加或更新翻译时帮助页面。

Doomsdayrs 发布公告

发布 gtk-kt https://gitlab.com/gtk-kt/gtk-kt

gtk-kt 是 GTK API 的 Kotlin 绑定。允许熟悉 Java / Kotlin 的开发者轻松编写 GTK 应用程序。

它也是新程序员开始创建 GTK 应用程序的一种简单安全的方式,只需要 10 行 & 154 个字符就可以创建一个简单的窗口。与需要 26 行和 602 个字符的 C 相比,减少了惊人的 75% 的字符来创建一个简单的窗口,想象一下对于具有更复杂组件的更大的项目。

它已经接近完成阶段,97.49% 的 GTK 类都用 Kotlin 包装,这促使我将第一个 alpha 版本发布到 https://maven.org

同时正在开发/计划中的是 libadwaita (https://gitlab.com/gtk-kt/libadwaita-kt) 支持和 xdg-portal (https://gitlab.com/gtk-kt/libportal-kt) 支持。

Aaron Erhardt 报告

Relm4 0.4 本周发布,包含许多改进!亮点包括许多宏改进、类型安全操作、运行时更多灵活性和更新的依赖项。完整的发布公告可以在 这里 找到。

Phosh

适用于移动设备的纯 Wayland shell。

Guido

phosh 上周获得了一个 VPN 快速设置,用于切换上次使用的 VPN 连接。在组合器方面 (phoc),我们更新到更新的 wlroots,这使我们能够启用 xdg-foreign 和 viewporter wayland 协议(这有助于 flatpak 更好地定位文件对话框,以及一些视频工作负载)。

本周就到此为止!

下周再见,请务必访问 #thisweek:gnome.org,分享您自己的项目更新!