Thoughts on Cosmic
In my previous article, I briefly discussed System76 and their release of the alpha version of their new COSMIC desktop environment for the Pop OS Linux distribution. Today, I’ll share my thoughts and experiences with the alpha release, including a brief snippet about the popular Wayland-compositor Hyprland.
My overall experience using COSMIC on bare metal1 is that the software is surprisingly stable for an alpha release. Though there are missing features and settings, some of which I’ll mention below, the desktop environment is really functional. Looking back at my previous experience with a new desktop environment, it reminds me of when KDE released Plasma 4 (KDE 4). The original release of KDE Plasma 4 had significant performance issues that affected my workflow despite using recent hardware (I was using an AMD Phenom X4, the first generation of quad core CPUs from AMD).
The experience with the original KDE Plasma 4 release made me avoid KDE Plasma for a long time, even though I had preferred KDE Plasma 3 as my preferred desktop for Linx. Though I also used Gnome, GNOME 2 didn’t really resonate with me at the time - it felt like it was inspired by the look of macOS 8 or 9.
Although thus far I have enjoyed using COSMIC, it is not all roses and rainbows, I’ve had a few crashes occurring here and there when playing around with moving around windows in tiling mode. One of my recent crashes occured when playing a video in Haruna and switching from tiling mode to floating windows; however, as I am using Asahi Linux it might not necessarily be a COSMIC-issue. Although as I write this I notice that over half my available RAM is in use when having the following running:
Visual Studio Code and Mozilla Firefox (with 4 tabs open) in a stack
Chromium with 6 tabs open
A stack contianing 2 open files in COSMIC Text Editor, COSMIC Files, another COSMIC Text Editor window in the stack with a text file open.
Amarok 3.10 via Flathub Beta
A terminal window with 3 tabs open
I’ll have to try to replicate these issues on my other computer that has COSMIC installed, as the Mac mini has more limited resources in comparison to my other PC2.
Some issues and nice features I have noticed in using COSMIC are mentioned below:
The bad… or unusual
Title bars for tabbed applications in a stack appear small
When I have added multiple apps into a single stack, within a tiling setup, the title bars for each application appears thin, not overly bad, but feel Cosmic would benefit from an option to enlarge them.
With a stack focused, opening a new application will automatically open and be added to the stack
When the focus is on the stack where there are already several applications present, any new application will automatically be added to the stack. This could be expected behaviour as when the focus is on a non-stacked window it will open the application in its own window and automatically place the window within the tiling setup.
Issue with highlighting text in a tabbed window
I was noticing an issue where I wasn’t able to highlight text normally using a mouse from the COSMIC Text Editor when it was part of a stack. This was occurring when I was testing COSMIC on a x86_64 system running Pop OS 24.04 on bare metal, so it could have been fixed in an update that I installed earlier. I am also running COSMIC on an Apple Silicon-powered Mac mini which is running Fedora Linux 40 by way of Asahi Linux.
When opening a text file from the COSMIC Files app it opens it in a new window in the stack
Initially the issue I was noticing was when you open a text file from COSMIC Files (which is in a Stack), it would open the text filed in COSMIC Text Editor but it would not switch the focus to the text file.
Now what happens is that it will simply open another window in the stack for the text file and will switch focus to it.
Not sure if this is a widespread Linux issue, something with the keyboard setup I have, or that I am too used to navigating text on a Mac
On a Mac you can use the ALT and/or CTRL with arrow keys (or CMD, the “Super” key on Linux) keys to go to the end of a line, to move to the beginning or end of a word, or move to the top or bottom of a paragraph. This is convenient if you want to easily delete some words from a line of text quickly.
I have noticed on Pop OS, that you can only use the CTRL key and an arrow to move to the start or end of the word. I might be missing something, but maybe Pop OS or Linux in general lacks the feature of using ALT or CMD/Super to navigate to the end of the line or between paragraphs.
On the plus side most keyboards, even ones that lack the extended numpad, include a home, end, page up, and page down key which emulate similar behaviour to the way I would navigate text on a Mac.
ALT + Tab works to switch between applications, regardless of whether they are in a stack, but the implementation is unclear
Currently when I use ALT + Tab it provides a list of eight applications that are avaialble for me to switch to. This might be my unfamiliarity with some areas in Pop OS, but the arrangement of the applications isn’t clear.
The order of the applications I have are: Amarok, Visual Studio Code, Chromium, Chromium, Firefox, COSMIC Terminal, COSMIC Text Editor, COSMIC Files.
I can’t determine why they are arranged in this order, especially since some of them are applications that I haven’t been actively using recently.
COSMIC has a basic level of theming in the Desktop | Appearence section of the Settings app. The three main areas where you can apply theming is to the background colour of an app’s window, the side panel (if one is present), and the accent colour in the title bar and edges of an app.
This feature is limited and appears to only apply changes to the core COSMIC apps. You can select from a default list of colours or enter a customer HEX colour code, such as #0736F8.
I noticed that some parts of COSMIC will keep the background colour in the app despite making changes to the theme in the Settings app.
For example, I set two different colours for the background colour for the apps and fore the side bar. The change was applied in the Settings app, but not COSMIC Terminal or COSMIC Text Editor.
Missing information in the System and Accounts area in the Settings app.
Currently when accessing the Users or Firmware section in System and Accounts, there is only a placeholder label present with no information.
The About section also provides fairly limited information. Since I am using a Mac running Fedora Linux via Asahi Linux, the lack of details could be a result of my setup. In my particular cause it listed the amount of disk space, the amount of available RAM, the system architecture, the version of Linux installed, the desktop environment, and the type of windowing system in use.
Some apps don’t support the stacking windows feature.
There are some apps that open in a window without issue, but if they are added into a stack they appear as a black window with no visible content. This occurred most commonly with Amarok 3.10, but this could be due to the app being installed via Flathub’s beta section.
Unlike in other Linux distributions, the keyboard shortcut to go backwards through the list of open applications when using ALT + TAB is non-standard.
Most Linux distributions use a standard approach to using ALT + TAB to switch between active applications. In general you can press ALT + TAB, and while holding down ALT you can press tab to go through each active window. The standard behaviour to in the reverse order is to add the SHIFT key into the equation - you would now hold down both ALT and SHIFT, but now by pressing TAB you would go backwards through the list of open applications.
Pressing Super + U at least 2-3 times causes COSMIC to safely crash, COSMIC is restored within a few seconds but all the active windows are closed
This is keyboard shortcut is for Focus window out, I stumbled upon it by accident as I was trying to recall what the keyboard shortcut was to remove an app from a stack using a keyboard shortcut.
Creating customer keyboard shortcuts
Although adding a customer keyboard shortcut is possible, it is not clear as to how this can be done when accessing the keyboard shortcuts area of the Settings app.
Regardless of whether the shortcut is disabled or not you need to click Add keybinding to add the shortcut, then you need to manually type in the shortcut as the text field does not recognize key presses. Once the shortcut has been entered there is no indication that you need to simply press the Enter key as there is no Save or Apply button to save the change.
The good…..
An app can be removed from the stack by right clicking it’s title bar in the slack and selecting Unstack window
We can also remove the window by dragging it out of the stack with the mouse, it is also nice to see there is more than one way to do so.
Dragging an app window out of the stack
Not sure if this was working originally, my understanding is the initially you would have to use a keyboard shortcut (I think either Super + I or Super + H) to break up the stack or remove an app from the stack. Now you can simply drag the app’s window out of the stack and move to its own tile or into another stack.
Switching apps in a stack can be done using the same keyboard shortcut to swap apps in the different tiles
Initially I was noticing that you could not switch between the apps that are in a stack using a keyboard shortcut but I found that the Super + Arrow Key (whether left or right) can be used to switch between the various windows in the stack. You can keep pressing the shortcut to switch to the other windows in the different tiles that are on screen.
It also seems if the app that is within the stack has its own tabs, for instance Firefox, then you can navigate through them as if the app was not within a stack.
Convenient keyboard shortcuts to move apps to different workspaces, move windows around the tiles, and resize windows
By default COSMIC has some interesting keyboard shortcuts to manage windows, one of the most interesting ones is when holding down Super + R or Super + Shift + R to widen or shrink a window. In this case while holding the keyboard shortcut you would use the left arrow (with Super + Shift + R) to shrink the window, and the right arrow to widen the window. The only issue is the window being modified needs to be the one currently accessed and you need to click in the window to do so.
Moving apps to different workspaces with Super + Shift + the number of the workspace, i.e. Super + Shift + 2 to move the window/app to workspace two.
Super + Shift + arrow key to move the window around the screen and different parts of the tiling system.
The panel at the top of the screen can be hidden similarly to the Dock on macOS so that it will only re-appear when you hover the mouse to the top of the screen.
There are a few other changes that can be done to the panel, such as adjusting the style of the panel to use rounded corners instead of being a strict rectangular bar, shrinking the width of the panel3, making the panel either use a dark or light theme, and adjusting the height (labeled as size)4 of the
The display settings provide users with the option to use scaling, which is a nice have, but I wish the scaling factors had better increments than 25%
Adding applets is simple, although there are a limited number of applets to choose and there does not appear to be a way to make sure that the applet is added to the panel instead of the dock.
I’ve seen some different patterns of behaviour with the addition of applets. Originally any new applets would be added to the panel, now they are being added to the dock. There is still no way that I can see to specifically add an applet to a preferred area.
Mouse acceleration and natural scrolling options are available.
I am not sure if these were present in the original release, when using COSMIC on my other PC I don’t recall natural scrolling being present.
The ability to minimize stacks appear to be disabled by default, as there is no indicator in the top right corner to minimize, maximize, or close the stack. The ability to minimize can be done by setting a keyboard shortcut for Minimize window
By minimizing the stack, a thumbnail of the apps that are in the stack are shown in the dock. For example if the stack contains Firefox and the Settings app, when minimizing it there will be a thumbnail of Firefox and the Settings app in the dock.
An app’s window can be dragged onto another app until a blue indicator for Stack Windows appears, after which you can let go of the mouse and the app will be added to the stack.
You can switch between floating and tiling by pressing Super + G or clicking on the tiling icon in the system tray and click on the type of workspace behaviour - either Tiled or Floating.
So what about other tiling environments like the Wayland-compositor Hyprland?
I’ll be honest, I don’t really know all that much about the different compositors available to Linux users. The most common one I’ve heard of recently is Hyprland, but Linux enthusiasts like Matthew from the Linux Cast, Brodie Robertson, and others often mention i3, Sway, dwm, and of course, Hyprland.
Before diving into this world, the only compositor I had any experience with was Compiz, known for showcasing the iconic Cube feature where workspaces would appear on the faces of a rotating cube.
When it came to Linux, I was quite satisfied with GNOME and more recently KDE. But as I kept hearing about Hyprland and seeing impressive interfaces on Reddit and YouTube, I decided to give it a try. I even opted to test it out on Arch Linux, given that it’s frequently cited as the go-to distribution for Hyprland.
My initial thoughts on Arch Linux brought back memories of Gentoo Linux and its emphasis on compiling everything from scratch and being Linux for advanced users. I was a bit apprehensive until I discovered Chris Titus’ Arch Linux installer script, which greatly simplified the process. This was a relief until I found out about the arch installer script available when booting from a Live USB.
After completing the installation, I tried to set up Hyprland but felt lost trying to replicate the polished setups I’d seen on YouTube channels like Ksk Royal. The guides I found were either too advanced or complicated. That’s when I stumbled upon Stephan Rabbe’s ML4W YouTube and GitHub pages. Stephen had crafted a script that installed Hyprland and configured it in a way to match some of those configurations I had seen online. Using Stephen’s script made the process of getting Hyprland up and running saved me more several headaches and lost time trying to figure things one.
Once everything was set up, I was blown away by Hyprland’s automated tiling system. I have to commend the primary developer, vaxry — if he’s the sole developer, his work is nothing short of extraordinary.
I do have one one issue with Hyprland - and that is the level of complexity introduced by configuration of the environment is centered on various different configuration files. Whereas on a conventional desktop you simply right click on the wallpaper to change it, or go into a Settings app, with Hyprland you need to edit a specific configuration file to point to the image you would like to set as the wallpaper. Perhaps I’ve become too accustomed to using a GUI (graphical user interface) for configuration and can’t appreciate the fine tuning that can be done with Hyprland.
Both Cosmic and Hyprland do have a series of keyboard shortcuts and behaviours with the mouse to manage a tiled or floating window environment that once you learn the shortcuts it makes navigating the environment quite simple. The one thing that does seperate them is Cosmic being more GUI-driven with its configuration in comparison to Hyprland.
I do want to add that despite the complexity regarding configuration, Hyprland spoiled me — when I switched back to macOS, I found myself yearning for an auto-tiling add-on or software that was similar. I ended up using a tool called Rectangle which is a utility that I’ve used to snap windows into specific areas of the desktop. More recentyl I came across another app called Amthyst which is more similar to an auto-tiling system, but it feels a little bit clunky and not as smooth as Hyprland.
At the end of the day both Hyprland and Cosmic appeal to different types of users. I get the feeling that more advanced Linux users would levitate more towards Hyprland and Arch Linux.
-
I’ve been testing the COSMIC desktop on an Apple Silicon-powered Mac mini where I installed Fedora Linux 40 by way of Asahi Linux. On this Mac mini I installed COSMIC via the steps posted on the System 76 website. ↩︎
-
My other PC is running an AMD 5700G with 8 cores and 64 GB of DDR4 RAM. ↩︎
-
I am not entirely sure why this is an option, I can understand shrinking the width of the dock, but the panel seems to be an odd choice. ↩︎
-
YouTuber and Linux enthusiast Brodie Robertson made a good point in his review about how the slider makes no sense, what does small and large mean, it probably would have best to have something like with GNOME’s dock where the size is presented in terms of a numerical value, which is probably what is used under the surface. ↩︎