Creating a desktop environment from scratch is no small feat. That involves creating everything from the compositor, panel, window manager to the APIs for your desktop environment and other back-end tasks.
It is not an easy task, and maintaining it is another story.
And, it looks like System76 has already started working on it!
Carl Richell, System76’s CEO, mentions that we can expect an alpha build this summer, and a release planned for 2023:
There are a couple of newer repositories on their GitHub profile, which happen to be the elements of their upcoming Rust-based COSMIC Desktop.
So, it is time to build, test, and get an early look!
Note: To clarify, the current GNOME-based desktop environment on Pop!_OS is COSMIC. This article discusses the Rust-based COSMIC desktop environment, built from scratch, meant to replace the current offering.
Rust-based COSMIC Desktop Experience
The three repositories intended to be a part of the COSMIC desktop environment as a whole are
- Settings app
- Top panel (currently for X11 systems)
- Compositor (appears to have support for native wayland, xwayland and X11 systems)
Note: This is a half-baked early preview to get an idea. The user interface can be fundamentally different as the development continues. So, hold your thoughts!
This is the settings app for Pop!_OS’s new COSMIC Desktop. It is currently WIP and not ready for use, although if you want to run it and play around with the GUI, feel free!
So, how does it look different from the current COSMIC experience?
When writing this, the GUI does not seem to be connected to any back-end APIs. Enabling and disabling “Enable top-left hot corner for Workspaces” toggle does not make a difference, nor does any other toggles, except for the information shown by the ‘About’ section of the Settings app.
Looking closer at the screenshot, the placements are messy but expected from an early preview (or prototype).
It looks like they are approaching everything with rounded corners and a cleaner look to it.
The toggle animation feels quick, smooth and snappy (even inside a virtual machine, cannot wait to try it on bare metal). Considering it’s not even functional, let’s forget about the performance.
Personally, not a fan of the rounded corner look they are going with. GNOME’s implementation of rounded corners seems perfect to me. But, it should be interesting to see how it turns out.
As part of the COSMIC desktop environment, the top panel is also being implemented using Rust language.
As for the appearance of this top panel, I am not exactly sure how to test it without being unfair to it. Launching it from GNOME opens it behind the top bar that GNOME has. So I thought of opening it in a separate window manager (tried only with bspwm and i3-wm so far), but that resulted in some quirky behavior like the panel taking full vertical space like a normal GUI software.
The compositor for COSMIC desktop environment compiled successfully but would not launch when used with bspwm or i3-wm. I tried launching it in window managers because GNOME does not allow changing compositors.
This is due to the mess of video drivers in a virtual machine using VirtualBox and the fact that the COSMIC compositor is not ready.
But, there’s more!
Developer Eduardo Flores also tried the new COSMIC Desktop, sharing some screenshots of the app launcher and the dock in his blog post.
The application launcher looks similar, but built using GTK. Similarly, you can also expect a similar-looking application library, introduced with Pop!_OS 21.10, and the good-old dock.
Sure, it is too early to tell where the development is heading.
It should take a while to expect a beta release for a full-fledged Rust-based COSMIC Desktop experience.
But, from what we’ve seen here, I am excited!
What do you think? You are welcome to share your thoughts in the comments down below!
Originally written by Pratham Patel.