COSMIC 用户环境开发用 Rust 编写的新面板

开发 Linux 发行版 Pop!_OS 的 System76 发布了一份关于新版 COSMIC 用户环境的开发报告,该环境是用 Rust 重写的(不要与基于 GNOME Shell 的旧 COSMIC 混淆)。 该环境是作为一个通用项目开发的,不依赖于特定的发行版,并且符合 Freedesktop 规范。 该项目还开发了基于Wayland的cosmic-comp复合服务器。

为了构建接口,COSMIC 使用 Iced 库,该库使用安全类型、模块化架构和反应式编程模型,并且还提供了熟悉 Elm 声明式接口构建语言的开发人员所熟悉的架构。 提供了多个支持 Vulkan、Metal、DX12、OpenGL 2.1+ 和 OpenGL ES 2.0+ 的渲染引擎,以及窗口 shell 和 Web 集成引擎。 基于 Iced 的应用程序可以针对 Windows、macOS、Linux 构建并在 Web 浏览器中运行。 为开发人员提供了一组现成的小部件,能够创建异步处理程序并根据窗口和屏幕的大小使用界面元素的自适应布局。 该代码根据 MIT 许可证分发。

COSMIC 用户环境开发用 Rust 编写的新面板

COSMIC发展的最新成果包括:

  • 已提出一个新面板,用于显示活动窗口列表、快速访问应用程序的快捷方式,并支持放置小程序(在单独进程中运行的嵌入式应用程序)。 例如,小程序实现应用程序菜单、桌面切换界面和更改键盘布局的指示器、控制多媒体文件的播放、更改音量、控制Wi-Fi和蓝牙、显示累积通知列表的输出、显示时间以及调用屏幕关闭。 计划实施带有天气预报、笔记、剪贴板管理和用户菜单实施的小程序。
    COSMIC 用户环境开发用 Rust 编写的新面板

    该面板可以分为几个部分,例如,顶部的部分包含菜单和指示器,底部的部分包含活动任务和快捷方式的列表。 面板的某些部分可以垂直和水平放置,占据屏幕的整个宽度或仅选定的区域,使用透明度,根据明暗设计的选择更改样式。

    COSMIC 用户环境开发用 Rust 编写的新面板

  • 自动优化服务System76 Scheduler 2.0已经发布,它可以动态配置CFS(Completely Fair Scheduler)任务调度器的参数并更改进程执行的优先级,以减少延迟并确保与用户当前正在使用的活动窗口相关的进程的最大性能。 新版本与Pipewire媒体服务器集成,提高显示多媒体内容的进程的优先级; 已过渡到新的配置文件格式,您可以在其中定义自己的规则并控制各种优化模式的使用; 能够根据 cgroup 和父进程的状态应用设置; 主调度程序进程中的资源消耗减少了约 75%。
  • 使用新的小部件库准备的配置器的实现现已可用。 配置器的第一个版本提供了面板、键盘和桌面壁纸的设置。 未来,带有设置的页面数量将会增加。 配置器具有模块化架构,使您可以轻松地将其他页面与设置连接起来。
    COSMIC 用户环境开发用 Rust 编写的新面板
  • 目前正在准备集成对高动态范围 (HDR) 屏幕和颜色控制的支持(例如,计划添加对 ICC 颜色配置文件的支持)。 开发仍处于起步阶段,与为 Linux 提供 HDR 支持和色彩管理工具的整体工作同步。
  • 向 cosmic-comp 复合服务器添加了对每通道 10 位颜色表示的输出的支持。
  • iced GUI 库正在致力于为残疾人提供支持工具。 与 AccessKit 库的实验性集成已经完成,并且添加了使用 Orca 屏幕阅读器的功能。

来源: opennet.ru

添加评论