#213 固定规则
2025年8月22日 • 6 条笔记 • 由 Felix 整理关于 GNOME 项目在 8 月 15 日至 8 月 22 日期间发生情况的更新。
GNOME 核心应用和库
Glycin ↗
沙盒化和可扩展的图像加载和编辑。
Sophie (她/她) 发布
Glycin 2.0.beta.3 已发布。重要的更改包括修复了在某些配置下缩略图无法工作的问题,JPEG XL 的加载速度得到了显著提升,修复了破坏某些系统上图像加载的沙盒规则,以及修复了以渐进模式保存的一些 JPEG 图像的编辑问题。
GNOME Circle 应用和库
Déjà Dup Backups ↗
一个简单的备份工具。
Déjà Dup 49.beta 已发布!它只是修复了一些小错误,并使用了新的 libadwaita 快捷方式对话框。
但如果您还没有尝试 49.x 分支,它具有重大的 UI 重构,并为 Restic 备份添加了基于文件管理器的恢复功能。
更多详细信息和安装说明请参见 之前的 49.alpha 发布公告。感谢您在发布之前进行的任何测试!
第三方项目
Mir Sobhan 发布
我们分叉了 TWIG 网站,并将其锻造成一个“新手友好问题”追踪器。它捕获 GitHub 和 GNOME GitLab 上的所有 GNOME 相关项目,以显示标记为“新手友好问题”或“新手”的问题。这可以帮助新手找到贡献的地方,包括我自己。
网站:https://ggfi.mirsobhan.ir 仓库:https://gitlab.gnome.org/misano/goodfirstissue
Džeremi 说
Chronograph 迎来了一个巨大的 4.0 更新!
Chronograph 是什么?
Chronograph 是一个用于同步歌词的应用程序,使其在支持的播放器中像卡拉 OK 一样显示。它具有漂亮的 GTK4 + LibAdwaita 界面,并包含内置的元数据编辑器,因此您可以管理您的音乐库以及同步歌词。默认 LRC 文件可以发布到大型歌词数据库 LRClib.net,许多开源播放器广泛使用它来获取歌词。直到现在,Chronograph 仅支持逐行歌词,这对于大多数情况来说已经足够了,因为标准的 LRC 是最常见的格式。但时代在变化…
逐字支持!
从 8 月 24 日开始,Chronograph 将获得对逐字同步的支持。此功能使用 eLRC 格式(也称为 LRC A2 或 Enchanted LRC)。在 eLRC 中,每个单词都有自己的时间戳,允许支持它的播放器逐字动画歌词,为您提供真正的卡拉 OK 体验。这仅仅是个开始:未来的更新还将带来对 TTML(Timed Text Markup Language)的支持。
最终说明
希望您喜欢使用 Chronograph 的最新版本,并一起向更广泛的社区宣传 eLRC。同步您喜爱的歌曲的歌词!♥️
Rewaita — 给 Adwaita 增添一些风味
大家好,几周前我发布了 Rewaita,它是 Gradience 的精神续作。有了它,您可以将 GTK4/Adwaita 应用程序重新着色为流行的配色方案。这就是名称的由来 ~ Re(colour Ad)waita。
截至本周发布的 v1.0.4 版本,如果您不满意我们提供的配色方案,您可以创建自己的自定义配色方案,还可以将窗口控件更改为彩色或 MacOS 样式。
您可以在 Flathub 上找到它,也可以在 AUR 和 NIXPKGS 中找到(Nix 包仍在审核中)。
Rewaita 也在快速开发中,所以任何帮助都将不胜感激,或者只是给我们点个星号 :). 特别是,GTK3 和 Cinnamon 支持是下一步的重点。
杂项
JumpLink 说
ts-for-gir - GObject 内省的 TypeScript 绑定
本周我们发布了 GObject 接口实现的一项重大改进:虚拟接口生成。
开发人员现在不必再实现 GObject 接口的所有方法,而只需实现虚拟方法(
vfunc_*)。这与实际的 GObject-Introspection 模式相符,并使接口实现更加简洁。之前(实现所有方法)
class CustomPaintable implements Gdk.Paintable { // Implement all methods manually get_current_image(): Gdk.Paintable { ... } get_flags(): Gdk.PaintableFlags { ... } get_intrinsic_width(): number { ... } // ... and many more }之后(仅虚拟方法)
class CustomPaintable implements Gdk.Paintable.Interface { // Declare for TypeScript compatibility declare get_current_image: Gdk.Paintable["get_current_image"]; declare get_flags: Gdk.Paintable["get_flags"]; // Only implement virtual methods vfunc_get_current_image(): Gdk.Paintable { ... } vfunc_get_flags(): Gdk.PaintableFlags { ... } }我们创建了一个全面的示例:https://github.com/gjsify/ts-for-gir/tree/main/examples/virtual-interface-test
这展示了使用新模式的
Gio.ListModel和Gdk.Paintable实现。发布:v4.0.0-beta.35 和 v4.0.0-beta.36
注意:上周我们还发布了 v4.0.0-beta.34,它引入了高级变体类型默认情况下,完成了 gi.ts 与增强的 TypeScript 支持的集成,用于
GLib.Variant.deepUnpack()以及更好的 GObject 模式类型推断。
本周就到此为止!
下周再见,请务必访问 #thisweek:gnome.org,分享您自己的项目更新!


