系统极客一直在努力
专注操作系统及软件使用技能

Budgie 10.10.2 桌面:深化 labwc 桥接机制,优化多项核心体验

Budgie 桌面环境

Budgie 10.10.2 正式发布!本次更新进一步深化了 labwc 桥接机制,提升了「图标任务栏」的应用程序匹配精准度,并带来了大量稳定性修复与体验优化!

Budgie 10.10.2 主要更新

labwc 桥接机制

labwc 桥接机制是连接 Budgie 桌面与 labwc 合成器的核心组件,它负责将「桌面设置」无缝转化为合成器的原生配置。本次更新在集成度上,实现了多项突破:

  • 主题独立设置:现在,你可以直接通过 Budgie 桌面设置,独立配置 labwc 的窗口装饰主题。在 labwc 环境下,就能全面掌控窗口的视觉体验。
Budgie 10.10.2 labwc 主题
labwc 主题
  • 键盘与区域设置重构:彻底重写了桥接机制处理键盘布局和区域设置的底层逻辑:
    • 现已全面支持 freedesktop 的 locale1 接口(通过 systemd-localed)作为键盘布局的数据源,并配备了完善的降级策略——依次读取/etc/default/keyboard,最终回退至美式键盘默认布局。
    • XKB 配置项可以从 GSettings、systemd-localed 和/etc/default/keyboard中被正确「提取合并」。系统不会在每次登录时,暴力重写环境变量文件,用户的自定义修改终于能够永久保留。
  • 触控板配置同步:触控板的滚动方式,现在可以从 GNOME 设置无缝同步至 labwc 配置文件中。
    • 对于从旧版本一路升级上来的用户,系统会自动在rc.xml中补全缺失的外设配置。
    • 此外,触控板的「左手模式」已经和鼠标的左手模式解绑。习惯左手操作触控板的用户,再也不用被迫反转鼠标按键了。
Budgie 10.10.2 触控板设置
触控板设置
  • 常规桥接维护:本次更新对代码进行了大量梳理,优化了配置的迁移处理逻辑,让桥接机制更加健壮。

图标任务栏

  • 应用匹配机制重构:引入了全新的ApplicationMatcher类,通过多重策略来精准匹配窗口与对应的「桌面快捷方式」(桌面入口)。匹配器会依次尝试以下规则,寻找最佳匹配:
    • StartupWMClass 属性
    • 反向 DNS 查找
    • Java 包名
    • Snap 命名规范
    • 最后采用「不区分大小写」的备用方案

这套机制彻底解决了长期困扰非标准应用(如 Tilix、jEdit、Snap 应用、Proton Pass)的匹配难题,带来了更精准的分组效果,以及更稳定的「固定」(Pin)体验。

Budgie 10.10.2 图标任务列表修复
图标任务列表修复
  • 「气泡弹窗」修复:图标任务栏弹窗内的窗口,现在会通过精准的「窗口引用」完成识别,彻底抛弃了粗放的「类 ID」识别方式;解决了弹窗内窗口被错误移除的 Bug——该问题在应用仅开启一个窗口时尤为明显;同时,还修复了关闭应用「最后一个窗口」时,触发的系统异常。
  • 「显示所有窗口」行为修正:修正了开启show-all-windows-on-click选项后,应用组的激活行为;同时修复了middle-click-to-launch-new-instance(中键点击启动新实例)功能中,条件判定反转的问题。

Budgie 菜单

Budgie 菜单在各种分辨率下的尺寸计算逻辑,得到了全面优化。

  • 合成器现已原生接管缩放工作,开发团队移除了多余的缩放逻辑(方案与此前图标任务栏的 HiDPI 修复一致),彻底解决了降级缩放后,菜单变得「短粗」的问题。
  • 现在,菜单高度默认设定为工作区高度的 35%,并被严格限制在 480px – 600px 区间。这样一来,既保证了低分辨率屏幕上的可用性,也避免了 4K 及以上高分屏中菜单被「过度拉长」。在绝大多数高分辨率场景下,用户都能一眼看到更多菜单项。
  • 此外,菜单分类现已支持「区域感知」并实现了正确排序,用户的应用分类会按照当地语言习惯有序排列。

显示桌面

通过标准的 DBus 接口,对「显示桌面」功能完成了底层重构:

  • Super + D快捷键现在可以完美工作。
  • Budgie 也变得更加聪明:它会精准记录触发「显示桌面」的那一刻,究竟有哪些窗口被最小化,并在恢复时「只还原这些窗口」。而在过去,系统会盲目地把用户之前手动最小化的窗口也一并恢复。

截图路径持久化

budgie-screenshot 终于支持跨会话保存自定义截图路径了——只要你设置过首选保存位置,系统就会牢牢记住,下次截图直接生效。

对话框焦点行为

  • 在「焦点跟随鼠标」和「鼠标焦点」模式下,「运行」与「电源」对话框的行为终于恢复正常。
  • 现在,对话框会耐心等待鼠标指针悬停其上,才允许因失去焦点而隐藏。这有效防止了焦点一旦转移,对话框就瞬间消失的情况。

Crystal Dock 支持

对运行在 wlroots 合成器下的 Crystal Dock 新增了后台支持。本次优化完善了边缘边框处理逻辑,完美修复了开启自动隐藏且应用最大化时,可能出现的 1 像素溢出穿透问题。

Bug 修复

和以往一样,Budgie 10.10.2 针对整个桌面环境,开展了地毯式的除 Bug 工作:

  • 图标任务栏缩放:彻底移除了手动缩放系数。Wayland 原生支持 DPI 处理,叠加额外的缩放系数,只会导致图标尺寸异常偏大。
  • OSD 可见性:屏幕提示(OSD)已移至「覆盖层」,现在可以稳定显示在全屏应用之上。
  • Raven 动画:修复了 Raven 通知和小组件面板淡入动画失效的问题。
  • 会话修复budgie-desktop能够被正确加入XDG_DATA_DIRS环境变量,同时保证了xdg-desktop-portal在 labwc 会话中的顺利启动。
  • AppIndexer 应用索引:修复了刷新时间间隔 Bug(此前系统会错误地将毫秒识别为秒进行处理)。
  • QEMU 兼容性:通过设置WLR_NO_HARDWARE_CURSORS环境变量,修复了 QEMU/virgl 虚拟化环境中,鼠标指针倒置的问题。
  • 窗口激活:强化了窗口激活调用的异常处理机制。
  • 编译器标准:移除了硬编码的 C11 标准限制,现在会直接遵循各大 Linux 发行版的默认配置。

Budgie 10.10.1 主要更新

Wayland 体验升级:拥抱「松散焦点」

  • 在 Wayland 支持方面,Budgie 继续深化了与 Labwc 的整合,引人了完整的 「松散焦点」支持。
  • 现在,Budgie 已经集齐了 3 种焦点模式:点击获取焦点、鼠标悬停获取焦点,以及新增的「松散焦点」。

这些选项现已直接集成在 Budgie 桌面设置中,并通过 Labwc 桥接器统一应用。开发团队还透露,未来将针对「临时对话框」的焦点处理进行更细致的优化。

「松散焦点」,是指当鼠标指针滑入窗口区域时,窗口会自动获得焦点(可直接输入内容),但不会自动浮动到最顶层。

告别 GNOME 依赖:全新的亮度控制机制

Budgie 正在逐步减少对外部组件的依赖。本次更新中,亮度管理不再依赖庞大的 GNOME 设置守护进程(GNOME Settings Daemon),而是改用全新的budgie-brightness-helper原生工具。该工具通过标准的/sys/class/backlight接口直接控制屏幕亮度,底层控制更加纯粹、高效。

默认的 Labwc 配置文件已更新了相应的快捷键绑定。如果你使用的是默认配置,系统支持自动重新生成;如果你手动更改过配置,则需要手动更新绑定,以调用新的辅助命令。

视觉与细节修复:从壁纸到 Dock 栏

在视觉呈现方面,系统会将通过 GnomeBG 设置的首选背景样式精准映射到 swaybg 的相应模式中,你可直接在 Budgie 控制中心的「背景」面板中进行调整,确保桌面壁纸的显示效果符合预期。

此外,本次更新还修复了一系列影响体验的 Bug:

  • Dock 栏对齐:修复了面板在 Dock 模式下无法在主显示器上正确对齐的问题。
  • 智能隐藏:面板的「智能隐藏」功能在配合最大化窗口使用时更加可靠,不会再「抽风」。
  • 权限继承:修复了提升权限启动的应用程序,无法正确继承Wayland 环境变量的问题,解决了部分 root 应用无法正常显示的问题。

其他值得关注的改进

  • 登录管理器:正式支持使用轻量级登录管理器守护进程 greetd 启动 Budgie。
  • 配置权限:复制的 Labwc 配置文件现在默认为可写状态,方便用户修改。
  • 依赖更新:更新了内置的libgnome-volume-control库,并刷新了全桌面的翻译文件。

Budgie 10.10 主要更新

Budgie 10.10 桌面环境
Budgie 10.10 桌面环境

Wayland 化的 Budgie:一切如旧,体验如初

在 Wayland 下使用 Budgie 桌面,核心体验与 X11 时代几乎别无二致。你熟悉的小程序(Applets)、面板(Panels)、Raven 侧边栏,以及由 Budgie Desktop View 提供的桌面图标,全都还在原来的位置,快捷键也被完全保留。

开发团队投入了大量精力打磨细节,只为确保从 X11 到 Wayland 的过渡如丝般顺滑,让你能几乎「无感」完成迁移。

借力 Wayland 生态:不造轮子,只造体验

Budgie 10.10 的核心愿景,是在 Wayland 上提供不输于、甚至优于 X11 版本的用户体验。与其从零造轮子,开发团队选择拥抱并深度集成 Wayland 生态中,那些成熟且备受好评的工具,从而打造出更具凝聚力的桌面体验。

通过集成这些工具,Budgie 10.10 无缝实现了广泛的功能支持:

  • 截图体验:由 grim 和 slurp 驱动,分别负责图像捕捉和屏幕区域选择。
  • 锁屏与空闲管理:集成了 swayidle、gtklock(或 swaylock)以及 wlopm。这些现代化的解决方案充分利用了ext-session-lock协议,旧版的 Budgie Screensaver(基于 gnome-screensaver 的分支)已被正式弃用。现在,系统支持闲置时自动调暗屏幕并锁定,当然也可以随时手动锁定。
  • 桌面壁纸:由 swaybg 接管,确保在 Wayland 环境下,壁纸能够正确渲染。
  • 应用集成:通过深度集成 XDG Desktop Portals——大部分任务由xdg-desktop-portal-gtk处理,截图和录屏则由xdg-desktop-portal-wlr 负责——实现了应用以安全、标准化的方式请求屏幕共享。

在显示配置方面,推荐将 Budgie 10.10 与 wdisplays 搭配使用,以管理多显示器和分辨率。同时,全新的 Budgie Desktop Services(基于 Qt6 和 C++ 编写)将自动持久化保存你的设置,确保跨会话生效。该组件将是未来 Budgie 11 的「心脏」,但在 Budgie 10.10 中,它的首要任务是确保显示配置的持久性。

合成器策略:首选 labwc,但不设限

在 Budgie 10.10 中,官方推荐使用基于 wlroots 的合成器(Compositor)。开发团队特别针对 labwc 进行了深度优化——这是一款现代、轻量且功能丰富的 Wayland 合成器,与 Budgie Desktop 堪称天作之合。

为了实现「开箱即用」,团队还构建了一个「labwc bridge」。它能自动将 Budgie 控制中心和桌面设置中的选项,映射为 labwc 的配置文件(默认位于~/.config/budgie-desktop/labwc,同时也支持XDG_CONFIG_HOME)。借助这一桥接机制,Budgie 实现了以下功能:

  • 默认快捷键:涵盖打开 Budgie 菜单、Raven 侧边栏、运行对话框、切换工作区,以及截图等核心操作。
  • 输入设备加速:统一管理触控板和鼠标的加速设置。
  • 一致的主题体验:统一字体、窗口阴影和标题栏布局。
  • 特定窗口规则:针对桌面、电源对话框和 budgie-daemon 进行专门适配。
  • 窗口管理特性:支持窗口吸附和带缩略图的窗口切换器。

除了默认集成的labwc,转向 Wayland 本身也代表了一次根本性的架构重构。这种「协议优先」的设计是一个关键里程碑:它彻底解耦了桌面环境与特定窗口管理器,告别了过去依赖 Mutter 分支 Magpie 的budgie-wm,让 Budgie 真正做到了「合成器无关」,为用户尝试官方推荐之外的其他合成器打开了大门。

为支持这种灵活性,Budgie 10.10 在budgie-desktop-servicesgtk-layer-shelllibxfce4windowing中,广泛依赖标准 Wayland 协议。虽然其他合成器的测试覆盖率尚不如labwc,但理论上,任何实现了以下协议的合成器都能驱动 Budgie 会话:

  • ext-workspace-v1
  • wlr-foreign-toplevel-management-unstable-v1
  • wlr-layer-shell-unstable-v1
  • wlr-output-management-unstable-v1
  • xdg-output-unstable-v1

这种协议优先的策略,确保了 Budgie 在迈向 11 版本的过程中,能在更广阔的 Wayland 生态系统中,保持灵活性与互操作性。

Applet 小程序升级

Budgie 10.10 传统任务栏
Budgie 10.10 传统任务栏

为了适配 Wayland,许多 Applet 迎来了必要的更新,并借此机会引入了新功能和视觉改进:

  • 图标任务栏:基于 10.9 版本中迁移至libxfce4windowing的工作,新版修复了大量 Bug,并改进了库的使用方式。同时,重命名了 Applet 的弹出层类名,以避免 IconTasklist 与传统 Tasklist 混合使用时触发 PopoverManager 冲突。
  • 夜间模式:集成了 gammastep 来控制显示器色温,有效减少夜间或长时间工作后的用眼疲劳。
  • 通知:现在你可以通过鼠标中键点击通知图标,快速切换「勿扰模式」。
  • 传统任务栏:经典的 Applet 迎来了彻底重写——不再是基于Wnck的简单实现,而是基于libxfce4windowing的现代化重构。新版 Tasklist 在处理大量应用窗口时的缩放表现更好,支持动态按钮尺寸,并加入了左右导航按钮来实现动态滚动,易用性大幅提升。
  • 工作区:提升了新窗口打开时的可靠性,并优化了「添加工作区」按钮的响应速度。

其他核心组件更新

不仅仅是budgie-desktop主程序,为了全面支持 Wayland,周边组件也同步完成了关键升级!

Budgie Desktop View

Budgie Desktop View 现已支持 Wayland,利用layer-shell协议,确保桌面图标始终正确地置于所有窗口、Raven 侧边栏和面板的底层。

Budgie 控制中心

新版 Budgie 控制中心迎来了一系列重要变革:

  • 移除色彩面板:旧面板仅适用于 X11 时代的 Budgie WM/Magpie,现已移除。
  • 蓝牙面板可选化:为适配那些弃用旧版gnome-bluetooth库的发行版,蓝牙面板现已设为可选。建议发行版采用 Bluejay 作为替代方案。
  • 面板可见性检查:为多个设置面板增加了可见性检查逻辑,避免将无效选项暴露给用户。
  • 多任务面板:引入了对 Wayland 的完整支持。
  • 窗口管理器配置:使用 keyfiles 来定制 Budgie 控制中心(BCC)针对 labwc 等窗口管理器所显示的内容。
  • 设置迁移:屏幕锁定设置已移至「隐私」>「屏幕锁定」;「夜间模式」现在拥有独立的设置面板。
  • 辅助功能增强:新增对屏幕放大镜等辅助功能的支持。
  • AppStream 优化:调整了元数据,提升在各类软件中心中的展示效果。

Budgie 会话

Budgie Session 新增了一个 Wayland 合成器检查程序,用于在启动会话的其他组件之前,验证合成器是否已经成功启动,从而提升会话初始化的稳定性。


Budgie 10.10 将随 Fedora 44 和 Ubuntu Budgie 26.04 一同登场。随着各发行版打包工作的推进,它也将逐步向更多用户开放下载。

赞(2)
分享到

评论 抢沙发