COSMIC user environment develops new panel written in Rust

System76, which develops the Linux distribution Pop!_OS, has published a report on the development of a new edition of the COSMIC user environment, rewritten in Rust (not to be confused with the old COSMIC, which was based on the GNOME Shell). The environment is developed as a universal project that is not tied to a specific distribution and conforms to Freedesktop specifications. The project also develops the cosmic-comp composite server based on Wayland.

To build an interface, COSMIC uses the Iced library, which uses safe types, a modular architecture and a reactive programming model, and also offers an architecture familiar to developers familiar with the Elm declarative interface building language. Several rendering engines are provided that support Vulkan, Metal, DX12, OpenGL 2.1+ and OpenGL ES 2.0+, as well as a windowing shell and a web integration engine. Iced-based applications can be built for Windows, macOS, Linux and run in a web browser. Developers are offered a ready-made set of widgets, the ability to create asynchronous handlers and use the adaptive layout of interface elements depending on the size of the window and screen. The code is distributed under the MIT license.

COSMIC user environment develops new panel written in Rust

Among the latest achievements in the development of COSMIC:

  • A new panel has been proposed that displays a list of active windows, shortcuts for quick access to applications and supports the placement of applets (embedded applications that run in separate processes). For example, applets implement the application menu, the interface for switching between desktops and indicators for changing the keyboard layout, controlling the playback of multimedia files, changing the volume, controlling Wi-Fi and Bluetooth, showing the output of a list of accumulated notifications, displaying the time and calling the screen to shut down. There are plans to implement applets with weather forecast, notes, clipboard management and implementation of user menus.
    COSMIC user environment develops new panel written in Rust

    The panel can be divided into parts, for example, the top one with menus and indicators, and the bottom one with a list of active tasks and shortcuts. Parts of the panel can be placed both vertically and horizontally, occupy the entire width of the screen or only the selected area, use transparency, change style depending on the choice of light and dark design.

    COSMIC user environment develops new panel written in Rust

  • The automatic optimization service System76 Scheduler 2.0 has been published, which dynamically configures the parameters of the CFS (Completely Fair Scheduler) task scheduler and changes the priorities of process execution to reduce latency and ensure maximum performance of the process associated with the active window that the user is currently working with. The new version integrates with the Pipewire media server to increase the priority of processes that display multimedia content; a transition to a new format of configuration files has been made, in which you can define your own rules and control the use of various optimization modes; the ability to apply settings based on the state of cgroups and parent processes; approximately 75% reduction in resource consumption in the main Scheduler process.
  • An implementation of the configurator prepared using the new widget library is available. The first version of the configurator offers settings for the panel, keyboard, and desktop wallpaper. In the future, the number of pages with settings will be increased. The configurator has a modular architecture that allows you to easily connect additional pages with settings.
    COSMIC user environment develops new panel written in Rust
  • Preparations are underway to integrate support for high dynamic range (HDR) screens and color controls (for example, it is planned to add support for ICC color profiles). Development is still in its infancy and is in sync with the overall work to provide HDR support and color management tools for Linux.
  • Added support for output with 10 bits per channel color representation to cosmic-comp composite server.
  • The iced GUI library is working on supporting tools for people with disabilities. Experimental integration with the AccessKit library has been carried out and the ability to use Orca screen readers has been added.

Source: opennet.ru

Add a comment