Exploring Cosmic Desktop: A Detailed First Look

8 min


I did a test drive of the dev version of the Cosmic desktop from System76. Here’s a first look with many wonderful details.

Cosmic desktop (cosmic-epoch) is a new desktop environment being developed by computer manufacturer System76 for the Linux distribution Pop OS. It’s been under development for some time and written from scratch. Cosmic desktop primarily developed using Rust as primary language, with popular libraries such as iced and libcosmic. The major driving factor for System76 is to move away from GTK-based GNOME for their ecosystem of apps and software.

A few days back, the team gave us some details about the first-ever alpha release, which is expected around June/July 2024 timeline.

That said, I managed to install the dev version of this brand new Cosmic desktop. I thought of giving you a tour of this fresh desktop environment.

Cosmic desktop (dev March 2024)
Cosmic desktop (dev March 2024)

Cosmic Desktop: First Look

Desktop components

When you first try to log in to Cosmic desktop, you should see a Cosmic session in the login screen of any distribution where you have installed it. One of the things you should notice is Cosmic desktop session only comes with Wayland.

Cosmic desktop session in login screen
Cosmic desktop session in login screen

After the first boot, you should see a standard top panel and a default dock at the bottom. There are a few changes you may notice if you are familiar with the Pop OS.

First off, the top panel now has a workspace indicator with prominent numbers and an application menu at the left. In the middle, the standard calendar pop-up. And on the right side of the panel you get the Tiling menu, sound, network, battery, notification, and the power options. Things are pretty standard, except the Tiling menu.

Top Panel with Application Menu
Top Panel with Application Menu

The power menu offers you to choose power levels in your system: battery, balanced and performance modes. The “battery” mode is the power saver mode. Weird naming, by the way. The power menu also gives you the option to control keyboard lights, screen brightness. One of the new features I noticed is an option which allows you to limit battery charge at 80% to keep your battery healthy.

Power menu
Power menu

The network pop up gives you the option to select Wi-Fi networks and connect to them. In addition, you can also see the IP address, speed, and toggle pill-buttons to turn off Wi-Fi.

In addition, the media menu gives you control to bring the media controls to the top panel! Alongside, you get the album art and track information in the pop-up. This menu is integrated with Firefox for a better experience. For example, if you play YouTube, you can view and control the player from the panel itself.

Media controls at top panel
Media controls at top panel

Furthermore, the notification menu is standard and has the option to mute all notifications for those focussed working sessions.

Now, let’s talk about the Tiling menu.

Tiling with Floating window

Cosmic desktop brings a revamped Tiling concept in a desktop environment. Obviously, it is not a tiling window manager, but you get all the Tiling experiences with the new option “floating workspace”.

That brings total two types of Tiling. You can set them globally or per-workspace wise.

The Floating option gives you a standard desktop feel when tiling is turned off. That means, “Floating” and “Tiling” are mutually exclusive: you can’t have them together.

Tiling menu
Tiling menu

The Auto tiling toggle immediately transforms your workspace open applications to tiling mode. It organizes them. Alongside, an intelligent tiling behaviour allows you to drag the window into tile blocks which adjusts itself! This is so cool from the team.

Moreover, while in tiling mode, you can still use the mouse with keyboard shortcuts as well, unlike the typical window manager.

I believe this is the best native tiling implementation in a Linux desktop so far. Have a look:

Cosmic Desktop – Awesome Tiling Video (Link)

Application menu, global search and workspaces

Cosmic desktop brings a launcher/global search when you press the SUPER key (Windows key) on your keyboard. You can search by keywords to reach your favourite applications. All the search results can easily be activated by global shortcuts CTRL+1, CTRL+2 and so on. This is super productive if you are a keyboard person.

Cosmic desktop launcher
Cosmic desktop launcher

However, the launcher currently does not search for your browsing history or the contents of files.

By default, you get two workspaces, and can browse them via panel icons denoted as “1”, “2”. The workspace animation is from bottom to top. However, the workspace view is accessible via a separate shortcut via the application menu. Probably this is still under development and I feel more fine-tuning is on the horizon. In addition, you can customize Workspace numbering, give names to workspaces or change the orientations from settings.

The application menu is similar to that of Pop OS today. The icon groups are sorted as library and grouped across categories. The categories are at the bottom of the application menu. You can create your custom groupings as well for a more personified experience. For example, you may want to create a folder group called “development” for all the dev apps.

Settings

As I am testing a development version, the settings app has limited items. But the basics are ready anyway. For example, the accessibility, printer settings are still probably under development.

That said, detailed settings are already in place for panels, docks, keyboard, mouse, touchpad, user controls and appearance.

Every aspect of looks is customizable. Let’s discuss this.

Settings app
Settings app

Widgets, Themes, and looks

Cosmic desktop brings all possible customizations in a most simple manner for you. You probably do not need any add-on or extensions at all. Moreover, you can import and export “ron” files, i.e. Rust’s implementation of JSON as themes or overall customizations.

Since the customizations are huge, here’s a list of what actually built-in in this desktop:

  • Desktop
    • Customize super key action (to kick off workspaces, launcher, or apps)
    • Window controls to hide/show maximize and minimize buttons
  • Panels
    • Auto hide panels
    • Move panel position to top, bottom, left and right
    • Settings to show panel in all displays or specific displays in a multi-monitor set up
    • Enable gap between panel and screen edge or extend up to edges
    • Custom panel looks light or dark or follow system settings. This allows you to have light panel in dark mode!
    • Custom panel width
    • Opacity control for the Panel to make it transparent!
    • Custom Cosmic applets organizations in Panel (similar to Xfce’s applet)
Cosmic desktop - Panel settings
Cosmic desktop – Panel settings
  • Dock
    • Enable or disable Dock completely
    • Auto hide option for Dock
    • Changing dock position to left, right, top, or bottom (default)
    • Option to show dock in specific displays in multi monitor set up
    • Enable gap between dock and screen edge or extend up to edges
    • Custom dock looks light or dark or follow system settings. This allows you to have light dock in dark mode!
    • Custom dock size
    • Opacity control for dock to make it transparent!
    • Custom dock applets, organizations in dock.
    • You can add the Panel applets in dock as well!!
Dock - settings
Dock – settings
You can add applets in Dock and in Panel also
You can add applets in Dock and in Panel also
  • Wallpaper and appearance
    • You can add custom wallpaper
    • Set the different wallpaper in multiple displays!
    • Add slide show as wallpaper
    • Light and dark theme support
    • Auto light to dark mode based on sunset and sunrise
    • Accent colour support with custom colour via picker
    • Option to change application and window background colour
    • Custom container colour
    • Interface text tint colour
    • Tint colour customization for control components
    • Automatically get theme accent colour to match window hint
    • Three unique styles for components: Round, slightly round and square.
    • Frosted glass effect
    • Option to use custom themes like Adwaita or Breeze.
    • Custom width for active window hint size
    • Custom gap between tiled windows
Appearance
Appearance
Cosmic desktop - Light theme
Cosmic desktop – Light theme

Here is a screenshot of the Panel with unique settings. With this, you probably don’t need any themes in Cosmic. And no tweak tools are needed as well. Everything is available. And customization possibilities are limitless natively.

Making transparent panel and dock gives a stunning look
Making transparent panel and dock gives a stunning look

Qt and GTK apps decoration

With all the customizations above, you may wonder how the existing GTK or Qt apps might look! So, to test that, I installed two apps. They are GIMP and Krita. As per my experience, GIMP looks terrible in KDE Plasma today and Krita (Qt apps) looks partially fair in GNOME.

I am not sure what wizardry is this, but the System76 devs managed to look both GTK and Qt apps almost identical to the native Rust apps. This is probably the best feature of this desktop. It’s difficult to identify them as GTK or Qt apps unless told.

Here’s how they look with default Cosmic dark theme.

GIMP - GTK App looks very good in Cosmic desktop
GIMP – GTK App looks very good in Cosmic desktop
Krita - Qt app looks great as well
Krita – Qt app looks great as well

Native applications built in Rust

The Cosmic team also brings some new apps for you, all written in Rust. As of publishing this the following four key apps are available.

  • Cosmic app store
  • Cosmic terminal
  • Cosmic screenshot
  • Cosmic text editor

Cosmic app store is still under development. It looks like well organized to give you apps based on category. Also offers you to upgrade your system. We will see how it may look like in the future with more app store integration (such as Flatpak).

The Cosmic text editor is a fusion of a lightweight text editor with advanced features. It has built in tabs with advanced options such as Git integration, project browsers, left panel and vim bindings. You can easily use it for development work.

Cosmic app store
Cosmic app store
Cosmic text editor and terminal
Cosmic text editor and terminal

The screenshot app is very basic, similar to GNOME Shell screenshot. The screen recording, and timer feature is still to be implemented.

Screenshot tool
Screenshot tool

Performance

Honestly, with all these features and being under development – it feels superfast in virtual machine (VirtualBox). So, when you install in actual physical hardware, it should be far more responsive. Probably Rust’s memory management is at play here.

Cosmic desktop performance
Cosmic desktop performance

In my VirtualBox settings with 4 GB RAM, it consumes at 1.2 GB of RAM! The main Cosmic Compositor (cosmic-comp) is barely using any RAM or CPU.

Wrapping Up

I have never so hyped about any desktop environment before. Cosmic desktop is a new and fresh experience, moving away from GTK and Qt. Finally, Linux users have another desktop to try out, built in modern technologies. This obviously removes all technical debts in popular libraries such as GTK or Qt.

In addition, the looks, themes, natively built apps in Rust, auto-tiling with floating option are some great features of this desktop. It seems, all aspects of the modern desktop are well optimized, balanced for all users. Aesthetically, it is beautiful while offering super productivity.

For the moment, wait for the maiden release later this year.

What’s your opinion about this new desktop? Please let me know in the comment box below.


Arindam

Creator and author of debugpoint.com. Connect with me via Telegram, 𝕏 (Twitter), or send us an email.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

6 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments