#131 STF Happenings
2024年1月19日 • 12 条笔记 • 由 Felix 整理GNOME 项目在 1 月 12 日至 1 月 19 日这一周内发生的情况更新。
主权技术基金
Sonny 宣布
作为 GNOME STF (Sovereign Tech Fund) 项目的一部分,许多社区成员正在进行与基础设施相关的项目。
- Alice 继续进行底部工作表的相关工作 https://gitlab.gnome.org/GNOME/libadwaita/-/merge_requests/1018
- 实现了底部工作表的正确焦点
- 修复了移植对话框的文档
- 实现了底部工作表对话框的滑动关闭功能
- 将对话框支持代码从窗口中分离出来;尝试将其放入选项卡页面:https://mk.nyaa.place/notes/9omtb0ugc3i50oiz
- Georges 开始着手 WebkitGTK (GTK4) 的辅助功能支持
- Philip 对 GLib 进行了各种维护任务
- GLib 中进行了大量审查
- 更多 libgirepository 清理工作,https://gitlab.gnome.org/GNOME/glib/-/issues/3155
- 更多 libgirepository 清理工作,https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3836
- 为 libgirepository 编写单元测试,https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3836
- 验证 GLib 的测试,https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3837 和 https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3838
- 审查 gi-docgen 文档链接更改,https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3809
- Evan 继续进行 GObject 内省的相关工作
- 解除将
g-ir-compiler添加到 GLib 仓库的阻塞- 致力于支持从 GLib 编译
g-ir-compiler2/gir-compiler- typelibs 中 GLib 的异步支持 https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3746
- Dhanuka 继续他在 oo7 中实现 secret server/backend 的工作 https://github.com/bilelmoussaoui/oo7/pull/56
- 完成了 org.freedesktop.Secret.Collection 接口的实现
- 完成了 org.freedesktop.Secret.Session 接口的实现
- Tait
- 开始研究 GTK+Mutter 菜单消失的问题:https://gitlab.gnome.org/GNOME/gtk/-/issues/6277
- 讨论了辅助功能按键绑定优先级 https://gitlab.gnome.org/GNOME/at-spi2-core/-/issues/147
- Jonas 致力于改进较小笔记本电脑显示器上的应用程序网格缩放
- Julian 继续进行通知的相关工作
- 为在 gnome shell 中添加新的标题创建了单独的 MR https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3103
- 重新应用其他未完成的 MR
- 开始为 GNOME Shell 和整个堆栈中的通知线程支持原型
- Julian 继续致力于使用 Libadwaita 默认头像为新用户
- 头像更改已合并到 gnome-control-center 中,需要重新应用 https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1939
- 修复了初始设置审查中的一些后续问题 https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/merge_requests/215
- Matt 继续致力于 Mutter 中新的 Wayland 辅助功能协议扩展的支持,并为辅助技术和其他客户端设计协议
- Hub
- 文档门户的内部文档的草稿 PR https://github.com/flatpak/xdg-desktop-portal/pull/1265
- Dor
- 根据设计反馈,原型化了设置中 VRR 配置的替代方案。https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2523#note_1971322
- 在 GNOME 46.alpha 的基础上重新应用 VRR MR
- 调查了 Firefox (Wayland) 帧速率问题,准备 MR https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3521
- 开始制定计划,以实验形式在 GNOME 46 中合并 VRR,并减少功能集 https://gitlab.gnome.org/GNOME/mutter/-/issues/3125
- Sam
- 设置
- 对正在进行中的 VRR 支持在显示面板中的工作提供设计输入:https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2523
- 为设置中的文本转语音和语音提供程序的新设计:https://gitlab.gnome.org/Teams/Design/settings-mockups/-/issues/65
- GNOME Shell
- 修复锁屏焦点样式的回归:https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3118
- 修复了较小分辨率下 Dash 的新引入的问题 https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3119
- 清理并对日历弹出窗口进行小修复:https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3120
- 调查了为什么 Alt-Tab 切换器在 46.alpha 中丢失了文本转语音支持:https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7336
- Adwaita 图标/光标的各种改进
- Adrian 继续致力于 systemd-homed 中的 blob 目录 https://github.com/systemd/systemd/pull/30840
nirbheek 报告
上周,由 Sovereign Tech Fund 资助,创建了 GStreamer 实时协议 (RTP/RTCP) 网络堆栈的完整 Rust 重写的基础。您可以在 STF 在 Mastodon 上的公告 中阅读。
RTP、RTCP 和 SDP 是标准规范,构成了广泛使用的实时协议(如 RTSP(实时会话协议)和 WebRTC(Web 实时通信))的基本构建块。您可以在 https://www.sovereigntechfund.de/tech/gstreamer 上了解更多信息和该项目的一般信息
重写与现有的基于 GObject 和 GIO 的 C 代码堆栈相比,具有一些技术优势
- 改进的内存安全性:在解析不受信任的网络数据时非常重要
- 更灵活的架构:现有的 RTP 堆栈是“分层蛋糕”,这使得添加新的交互和功能变得棘手且繁琐
- 更好的性能:以前的架构存在锁争用、过度使用线程以及由于“分层蛋糕”架构导致反复映射和取消映射缓冲区造成的开销
- 更易于上手:上述“分层蛋糕”抽象使得非专家难以理解堆栈,我们预计新贡献者会更容易提供帮助,这有助于可持续性
- 更低的认知开销:修改后的架构和异步 Rust 的使用将减少编写新功能、重构代码以及通常提高可维护性所需的精力
新的堆栈处于功能性和可用状态,但缺乏一些高级功能,这些功能对于成为现有堆栈的完整重写是必需的。您可以在下面的合并请求中跟踪进度
- 新的 RTP 管理器和抖动缓冲区
- 测量结果表明速度提高了约 50%,并且灵活的架构应该使编写具有动态延迟的另一个抖动缓冲区实现更容易
- 新的 RTP 有效载荷/去有效载荷基本类
- 一旦基本类经过代码审查并合并,将提交更多有效载荷和去有效载荷
- 新的 RTSP 源元素
- 目前仅支持直播,未来计划支持点播 (VOD)
GNOME 核心应用和库
GJS ↗
在你的 JavaScript 程序中使用 GNOME 平台库。GJS 驱动 GNOME Shell、Polari、GNOME Documents 和许多其他应用程序。
ptomato 说
我们发布了 GJS 的额外版本,1.78.3(稳定版)和 1.79.2(不稳定版),以修复导致 GNOME Shell 中扩展首选项窗口崩溃的回归。1.79.2 版本还包含 Marco Trevisan 的一些性能改进!
GNOME Circle 应用和库
Graphs ↗
绘制和操作数据
本周 Graphs 被接受进入 GNOME Circle。Graphs 是一款简单但功能强大的工具,可让您轻松绘制和操作数据。恭喜!
Workbench ↗
一个用于学习和原型设计 GNOME 技术的沙盒。
Sonny 说
Workbench,GNOME 的代码游乐场已发布 45.4 版本 🛠️ https://flathub.org/apps/re.sonny.Workbench
此版本的主要亮点
- 启动 Workbench 时恢复磁盘上的项目
- 如果没有要恢复的项目,则打开库
- 恢复格式和运行时的滚动和光标位置
- 为控制台添加“复制”和“全选”
- 添加 Vala 格式化程序支持
- 添加 WebP 图像格式支持
- 库:添加“上下文菜单”演示
- 库:添加“HTTP 服务器”演示
- 库:12 个演示移植到 Python,4 个移植到 Vala,2 个移植到 Rust
- 使用 Biome 代替 prettier 作为 JavaScript 格式化程序
- 使用 GTKCssLanguageServer 代替 prettier 作为 CSS 格式化程序
- 修复切换深色模式时控制台样式
- 修复没有代码的演示中的空白预览
- 修复影响其他窗口的样式
感谢以下贡献者 Gregor Niehl、UrtsiSantsi、Sabri Ünal、Hofer-Julian、Roland Lötscher、Sahil Shadwal、Dan Yeaw、AkshayWarrier、Marco Köpcke、Diego Iván M.E、Sonny Piers。
祝您编码/学习/原型设计愉快
Boatswain ↗
在流中导航时的指导。
Georges Stavracas (feaneron) 报道
由于出乎意料的强烈需求,我正在准备为 Boatswain 添加对 Elgato Stream Deck+ 设备的的支持。为此,需要对 Boatswain 进行调整,以适应新的按钮类型、不同的 USB 协议和新的输入事件。为了进行测试,我发起了一场小型筹款活动。您可以在这里了解更多信息。
Apostrophe ↗
一个无干扰的Markdown编辑器。
Manu 宣布
我一直在为 Apostrophe 开发新的布局管理器,以取代已弃用的 AdwLeaflet。这是一个实现为 Apostrophe 面板量身定制的解决方案的好机会,该解决方案完全适应应用程序的需求
第三方项目
Lorenzo Paderi 刚刚发布了 Collector,这是一款新的应用程序,旨在成为 GNOME 的 Dropover 的替代品。Collector 允许用户快速轻松地将文件、图像、文本和链接拖放到 Collection 窗口中,并随意放置!Collector 还支持各种功能,包括
- 能够打开多个 Collector 窗口并自定义其颜色
- 能够从网络浏览器轻松拖放图像下载
- 能够将文本分组到一个现成的 CSV 文件中
如果您正在寻找一个轻松的拖放工具,我鼓励您查看 Collector。这是一个可以满足您需求的绝佳选择。
今天,我们有一个非常令人兴奋的进展——Aviator 切换到 SVT-AV1 的内部自定义分支,名为 SVT-AV1-PSY!
在 BlueSwordM(Aviator 偶尔使用的先前自定义分支的作者)、我(Gianni)和其他人的开发努力下,这一变化将使我们能够更好地控制编码器的开发,以便它最有效地与 Aviator 的首要任务保持一致:视觉质量。
到目前为止,SVT-AV1-PSY 最值得注意的功能是一个方差提升补丁,它明显提高了各种内容中帧内和帧间保真度的一致性。据估计,使用此补丁可以提高每比特的视觉保真度高达 5%,而该补丁目前不存在于主流 SVT-AV1 中。
即使此补丁最终会进入主流,但拥有更多直接控制所带来的好处已经显现出来,因为我们可以灵活地以我们决定的速度实施诸如此类的功能。
除此之外,FFmpeg 已更新到版本 6.1,SCM 切换已被更有用的 Open GOP 切换取代,并且 README 已被修改以反映这些最新的更改,特别是关于 SVT-AV1-PSY 的更改。
感谢您使用 Aviator,祝您编码愉快!
Gir.Core ↗
Gir.Core 是一个旨在为不同的基于 GObject 的库提供 C# 绑定的项目。
badcel 宣布
Gir.Core 0.5.0-preview.4 已发布。这是即将发布的 0.5.0 版本的下一步,并添加了许多记录的公共 API。请参阅 发行说明 以获取更多详细信息。
Fractal ↗
GNOME 的 Matrix 消息应用程序,使用 Rust 编写。
Fractal 6 上线并已准备就绪!
没错,距离 Fractal 5 仅仅 2 个月,我们认为已经有了足够的改进来授予新的稳定版本。您可能已经注意到,我们采用了类似于 GNOME 的版本方案,并且每次新版本都会增加主版本号。
好东西清单
- Fractal 可以打开 Matrix URI,甚至已注册为
matrix方案的处理程序- 验证流程已重写,希望解决大多数验证问题
- 可以从他们的个人资料踢出、禁止或忽略房间成员
- 添加了更多通知设置,全局或每房间
- 时间遵循系统设置中的格式(12 小时或 24 小时)
- 选项卡自动完成也适用于提及公共房间,只需以
#开头即可它现在可在 Flathub 上使用。
此版本已完全翻译成 6 种语言 🙌️,我们希望在下一个版本中获得更多 📈!如果您想提供帮助,请前往 Damned Lies。
我们还要感谢我们的新老贡献者和上游项目。
对于我们的下一次迭代,我们已经准备好了许多辅助功能改进,并且计划继续改进房间设置和审核功能。来自您的任何额外工作 🫵️ 将受到高度重视!
活动
GNOME 非洲社区一直在努力组织一个预备训练营,为那些计划申请谷歌夏季实习项目 (GSoC) 和 Outreachy 实习的人们提供帮助。
本次活动的目的是为参与者提供必要的技能、项目特定知识、导师指导和社区见解,从而提高他们的竞争力,并为在这些实习项目的申请周期内成功为 GNOME 做出贡献做好准备。
本次活动将完全在线进行,因此欢迎世界各地的人们参加。活动将于 1 月 22日至 2 月 2日举行,请务必保存这些日期!
如果您有兴趣参加,请通过以下链接注册活动:https://events.gnome.org/event/244/
本周就到此为止!
下周再见,请务必访问 #thisweek:gnome.org,分享您自己的项目更新!






