#28 PrintScrn

2022年1月28日 • 18 条笔记 • 由 Felix 整理

GNOME 项目在 1 月 21 日至 1 月 28 日这一周内的进展更新。

核心应用和库

GNOME Shell

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

Ivan Molodetskikh 宣布

经过 Tobias Bernard、Jonas Dreßler 和 Georges Stavracas 的全面审核,新的 GNOME Shell 截图 UI 已合并到 GNOME 42 中! 🎉🎉 自上次更新以来,截图 UI 经过了另一轮设计审查、更多优化,并在右上角添加了一个大的关闭按钮。

屏幕录像和其他一些小的补充被拆分为独立的、更小的合并请求,以便于审查,并有望在下周 GNOME 42 UI 冻结之前完成。

WebKitGTK

GTK 端口的 WebKit 渲染引擎。

Alice (she/her) 发布公告

WebKitGTK 进行了一些触摸屏相关的修复,现在支持在渲染滚动条和其他小部件时使用应用程序或系统的强调色。

Vala

一种面向对象的编程语言,具有自托管编译器,生成 C 代码并使用 GObject 系统

Prince781

Vala 0.55.2 已发布,包含新功能和错误修复。

上周我们 添加了对 async main() 的支持,允许您使用 yieldmain 调用异步方法。

// ls.vala
async int main (string[] args) {
  string dir = args.length == 2 ? args[1] : ".";
  var file = File.new_for_commandline_arg (dir);
  try {
    FileEnumerator enumerator =
      yield file.enumerate_children_async (
        "standard::*,time::*",
        FileQueryInfoFlags.NOFOLLOW_SYMLINKS
      );
    List<FileInfo> children =
      yield enumerator.next_files_async (int.MAX);
    print ("total %lu\n", children.length ());
    foreach (var info in children) {
      // <file-type> <access-date> <size> <name>
      print ("%26s %24s %10"+int64.FORMAT+" B %s\n",
        info.get_content_type (),
        info.get_access_date_time ().to_string (),
        info.get_size (),
        info.get_name ());
    }
  } catch (Error e) {
    printerr ("failed to enumerate files - %s\n", e.message);
    return 1;
  }
  return 0;
}

类似地,我们添加了在 main 块中使用 yield 的支持。

本周,我们添加了对使用 foreachGLib.ArrayGLib.Sequence 的支持。

所有这些功能都包含在 Vala 0.55.2 中,您现在可以在您的代码中使用它们。

Libhandy

使用 GTK3 构建现代 GNOME 应用程序的构建块。

Alice (她/她)

libhandy 开发分支已从 master 重命名为 main。如果您将其用作子项目或在 flatpak 清单文件中,可能需要更新它

Libadwaita

使用 GTK4 构建现代 GNOME 应用程序的构建块。

Alice (她/她)

Chris 🌱️ 实现了 AdwPreferencesGroup 的后缀小部件支持。Settings 等应用程序已经使用类似的模式一段时间了,但我们之前没有对其提供适当的支持

GNOME Tour

GNOME 的引导式教程和问候语。

Bilal Elmoussaoui 报告

我发布了一个略微重新设计的 Tour,并删除了视频功能,因为它不再被分发商使用

GNOME Builder

用于编写基于 GNOME 的软件的 IDE。

gwagner 报告

GNOME Builder 现在可以正确地将文件解析到 toolbox 或 podman 容器中,从而可以提供来自容器的 clang 补全、符号解析和悬停信息。这应该使在 C/C++ 中使用容器的工作更加愉快。此外,Christian 调整了 Builder 中的配色方案,因此 Adwaita 配色方案具有更好的对比度和更漂亮的颜色调色板,以更好地区分元素。Veli 进行了这项工作,并编写了一个插件,以启用 Builder 对 reStructured Text 的 lint 检测。我们还修复了 CMake 插件中关于目标路径解析的一个小错误。

GLib

作为 GTK 和 GNOME 等项目的基石的底层核心库。

Philip Withnall 报告

Emmanuel Fleury 还在继续他对 GLib 中旧测试和不完整测试覆盖率的攻势,将许多旧测试迁移到新的测试框架,并逐步提高代码覆盖率

Emmanuele Bassi 报告

我扩展了 GLib 的 gdbus-codegen 工具,以接收 D-Bus 接口 XML 文件,并生成可用于多种文档生成器(如 Python docutils 和 Sphinx)的 reStructuredText 文件,从而简化了 D-Bus API 文档编制过程。

Philip Withnall

Marc-André Lureau 和 Loïc Le Page 正在登陆各种修复和改进到 Windows 上的 GLib,包括静态链接支持、AF_UNIX 套接字支持、各种测试修复以及 GMemoryMonitor 支持

GJS

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

ptomato

在 GJS 本周,我们有一个来自 Nasah Kuma 的 错误修复 和一个来自 Andy Holmes 的 文档修复

Circle 应用和库

Health

收集、存储和可视化你的个人数据。

Cogitri 报告

Health 的通知已被重构 - 不再启动单独的守护进程,Health 本身现在可以 DBus 激活,并通过 GApplication 服务发送通知。此外,Health 的 UI 文件已移植到 Blueprint,并且活动概览已切换到 AdwExpanderRow

ashpd

围绕 freedesktop 门户的 Rust 包装器。

Bilal Elmoussaoui

经过数月的努力,我终于发布了 ashpd 0.2。该版本包含在过去 6 个 alpha 版本和一个 beta 版本中发生的大量更改。主要包括

  • 仅异步 API 使用 zbus
  • 一个几乎完全具有特色的 API 演示,可在 https://flathub.org/apps/details/com.belmoussaoui.ashpd.demo 上获得
  • 与 GTK4/GTK3 集成,用于 x11/Wayland 窗口句柄检索(可选)
  • 与 PipeWire 集成,以便在可能的情况下检索摄像头 NodeID(可选)
  • 与 raw-window-handle crate 集成,以允许从中创建一个 WindowIdentifier,对于想要在 Linux 上使用门户的跨平台 crate 非常有用(可选)
  • 使用 tracing API 进行库调用记录(可选)
  • 文档别名,用于查找 Rust 对 libportal 提供的替代方案,或从 DBus 接口查找要使用的代理
  • 享受!

第三方项目

Tobias Bernard 报道

我忘记上周报告了,但 Nostalgia,我的微型应用程序,用于设置历史 GNOME 壁纸,发布了一个新版本!它已由 Maximiliano、Alice (she/her) 和 Julian Sparber 移植到 GTK4 和 Libadwaita 🎉

Fractal

GNOME 的 Matrix 消息应用程序,使用 Rust 编写。

Julian Sparber 宣布

大家好,自从上次我们交流以来已经有一段时间了!我们一直专注于代码,但我们很久没有更新了。自 11 月以来,已经发生了很大的变化。Fractal-Next 正在接近与当前 Fractal 的功能对等,甚至支持新功能

  • 时间线

    • Fractal-Next 现在允许您打开和保存发送的文件

    • 它还会在时间线中显示图像、视频和贴纸

    • 由于内置的媒体查看器,您可以更好地查看发送到房间的媒体

    • 它(终于!)支持反应(显示它们和发送新的反应)

  • 用户验证

    • Fractal-Next 现在支持通过扫描其他用户的二维码或通过表情符号来验证其他用户

    • 当用户被验证时,会在房间成员列表中显示一个图标

  • 房间详情

    • 房间详情现在显示房间的成员,包括权限级别
  • 通用 UX

    • Fractal-Next 与 GNOME 的密钥管理服务 Seahorse 更好地集成

    • 它支持房间升级

    • 它还支持邀请用户加入房间

    • 用户可以通过拖放或使用上下文菜单来更改侧边栏中房间的类别

    如果您想了解更多关于我们所做的事情以及关于 NLnet 资助的详细信息,请访问 我的博客文章“A Long Overdue Update — Fractal Next”

GNOME Shell 扩展

firox263

Extension Manager,一个用于浏览和安装 Shell 扩展的简单应用程序,发布了它的第二个版本。这增加了许多期待已久的屏幕截图支持,以及一个新的深色主题和许多其他质量改进。

亮点是

  • 显示来自 extensions.gnome.org 的屏幕截图
  • 深色主题支持
  • GNOME Shell 版本兼容性检查
  • 按 Popularity(受欢迎程度)、Recently Updated(最近更新)等对搜索结果进行排序
  • 全局扩展开关
  • 显示用户和系统扩展程序分别

GNOME 基金会

Neil McGovern

FOSDEM 以虚拟方式回归。在今年的虚拟展位上,我们计划与各种 GNOME 团队、员工和董事会成员进行主题聊天。请务必查看我们的展位页面,了解完整的日程安排、有趣的 GNOME 链接以及加入我们的聊天:https://stands.fosdem.org/stands/the_gnome_foundation/。正如 FOSDEM 的传统一样,我们还在举办 GNOME Beers 社交活动!带上您喜欢的饮料,参加我们在 2 月 5 日 18:00 UTC 举行的非正式虚拟活动。请通过 在线注册 让我们知道您会来。

Neil McGovern

基金会 宣布 三个新项目,专注于改善我们的开发体验,使更多应用程序在 GNOME 平台上可用,并为我们生态系统中的开发人员创建更公平和可持续的收入模式。

本周就到此为止!

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