COSMIC, the Pop!_OS desktop already presents great advances in its development in Rust

Cosmic System76

COSMIC, is a desktop environment of Pop! _OS which is based on a modified GNOME Shell

System76 (the Pop!_OS Linux distribution company) recently released a report on the development of a new COSMIC user environment written in Rust. The environment is being developed as a universal project that is not tied to a specific distribution and conforms to the Freedesktop specifications.

The project also develops Wayland-based cosmic-comp composite server and that in addition several rendering engines compatible with Vulkan, Metal, DX12, OpenGL 2.1+ and OpenGL ES 2.0+ are provided, as well as a windowing shell and a web integration engine.

About the project it is mentioned that to build an interface, COSMIC uses the Iced library, which uses a modular architecture with type safety and reactive programming models, and also offers an architecture familiar to developers familiar with Elm, a declarative interface construction language.

You have to remember that System76 opted to make the change of GTK and Iced, since during the tests that were carried out several COSMIC applets were prepared, simultaneously written in GTK and Iced to compare technologies. The tests carried out have shown that compared to GTK, the Iced library provides a more flexible, expressive and understandable API, pairs naturally with Rust code and offers a familiar architecture for developers familiar with the Elm declarative interface construction language.

Library Iced is written entirely in the Rust language., uses safe types, a modular architecture, and a reactive programming model.

Applications based on Iced can be created for Windows, macOS, Linux and run in a web browser. Developers are offered a set of ready-to-use widgets, the ability to create asynchronous controllers, and use the adaptive layout of interface elements depending on the size of the window and screen.

Of the latest achievements in the development of COSMIC:

  • Implemented support for segmented tabs and buttons based on the SegmentedButton widget, allowing you to perform an action immediately when selected.
  • El configurator provides a search interface with a continuous list of scrolling results.
  • Implemented the ability to select power management profiles and display the battery charge of wireless devices.
  • Added a interface to configure display settingsa that supports switching graphics modes, changing brightness on a schedule (night mode), and controlling desktop layout when multiple monitors are connected.
  • Added interface to configure languages, formats and units of measure.
  • Added a sound settings interface which allows you to change the volume of notifications in relation to applications and test selected parameters, including configurations with a subwoofer. For speaker test, users with more than two speakers in their system can test all speakers and their subwoofer at once with a single click.
  • The ability to select a common background, different wallpapers for each monitor or a set of wallpapers for cyclical change is provided (the delay is set in the settings).
  • The iced -dyrend dynamic rendering mechanism has been added to the Iced toolkit, which implies the ability to select different backends depending on the environment (for example, you can use OpenGL, Vulkan, or software rendering based on the Softbuffer library).
  • Updated the Softbuffer implementation of the software rendering engine, which can now be used to render widgets provided by the libcosmic library.
  • The user environment is designed to work under the control of display servers based on the Wayland protocol. To support the release of X11 applications, support for the XWayland DDX server is integrated into the cosmic-comp composite server.
  • The Cosmic Time library has been prepared, which allows you to use animated effects in Iced-based applications.

Finally, if you are interested in knowing more about it, you can consult the details In the following link.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.