Cosmic: A New Desktop Environment
system76.com
system76.com
This is the first alpha release of a full new desktop environment, built on a new GUI toolkit (based on Iced) and a new Wayland compositor, together with a suite of applications, all built from scratch in Rust .... give it some time.
Most interesting to me is the integrated tiling support.
I've been on i3/sway for many years, but a lean, lightweight and fast DE with tiling as a core feature and full proper keyboard navigation support everywhere might get me to switch. There are times where you really miss a proper DE over the hacky patchwork that a custom setup with a niche Wayland compositor entails.
But if I’m going to switch to a DE… I mean, I already have a fine customized window manager setup. The point of a DE is that it doesn’t need to be customized much and comes with all the bells, most of the whistle pre-installed.
All that is to say, if new really interested in this as long as they ship it with a built in “i3-like key binds” option.
I agree that it could use some more polish. I'd also like to see the bulk of the icons (re)generated from a primary and secondary accent color as well. They look out of place as you may tweak the colors. A unimenu and kde theme generation are also things I'd like to see sooner than later.
On the one hand, I'm glad to see developer attention given to the Linux desktop. I use and like GNOME well enough, but it's great to see competition and innovation.
On the other... I guess when I buy System76, I'm effectively paying a markup to subsidize development of these side projects (I'll never use pop_OS for example).
As somebody who's looking to just buy a computer, it makes justifying the expense of System76 a little more difficult. There are other Clevo rebadgers, after all.
System76 seems to want to sell to engineers, researchers and data scientists. The competition here is a MacBook with the typical Unix ecosystem or a Windows laptop with WSL.
So this allows them to take control of the total user experience and increase their customer base.
Their target audience is people who want and need a Unix based environment, are power users, but don't want to play around too much.
So this investment is intended to sell more laptops. I think they have a fair shot at making this pay for itself and they have a small but reasonable opportunity to grow exponentially and become a player of a seriously different size.
I would assume people on HN could appreciate the ambition.
I like what they are doing though. To be fair, I really love the concept of tge Framework though.
I recently bought a secpnd nvme ssd for my gaming pc and put Kubuntu on it, I'm not sure I want to go back to a laptop. It's insanely fast.
I used i3 plenty back in the day, but these days I just don't have the time to fiddle with the config. Pop OS tiling works perfectly out of the box if you don't need anything fancy.
Cool to see a new DE come into being.
I feel like as the computer literacy of the people making decisions in tech companies has gone up, the care that's being invested into actually making good user interfaces has gone down. This applies to Macs, Windows, and also to Linux desktop environments.
Just 15 years ago, there was a heavy focus on usability and making user interfaces clear and readable. Now, the focus seems to be much more on aesthetics. People used to care about making sure buttons are recognizable and differentiated with icons, colors, and clear labels. Now it's just text. People used to make sure windows had clear, visible borders, and the active window was clearly identifiable. Now it's just a shadow, and if you have a dark user interface, you can't even see the shadow. People used to make sure scrollable areas where clearly identifiable, now you have to just guess at what is scrollable.
From the screenshots, this looks like the same low-contrast, low-usability, but visually pretty design approach most modern desktop environments have adopted.
It's unfortunate that this seems to be the direction we're going in.
Anyone who has used a mechanical keyboard can tell you that there is much room for improvement. Rubber dome keyboards are cheap to manufacture and adequate when new but wear out quickly, and most people don't treat them like a wear item. Meanwhile, mechanical keyboards provide a superior typing experience that decreases hand fatigue and can easily last 20+ years with no maintenance.
And don't get me started on layouts. QWERTY is ubiquitous but is a piece of tech debt that has hung around for over a century. Studies have been done and layouts have been produced that are much more efficient and produce less hand fatigue, but none have taken hold because of the sheer momentum that QWERTY has.
Want to see an easy place where there's room for improvement? Why are the rows on every keyboard you've ever used staggered so bizarrely? Because on a typewriter, mechanical limitations meant that there had to be room for the linkages. But inexplicably, we continue to manufacture keyboards that preserve this fossilized layout. Typing on an ortholinear keyboard is sheer bliss in comparison.
I'm curious why. It never occurred to me that this would be a source of discomfort. If I look at how I have my hands on the keyboard, they are angled anyway - my torso is wider than the keyboard center, elbows rest on the arm rests, so the hands then kinda meet in the middle angled. It doesn't look like an orthogonal layout would be particularly advantagenous.
Otherwise, I think keyboards are a case of "good enough" and high transition costs compared to the benefits. I'm a software dev, so certainly above average in the amount of typing I do. But I can't even type with all ten fingers, yet it never seemed like a bottleneck. I can't "outtype" my thought anyway.
I've seen coworkers using 65% or less mechanical keyboards and I have no idea how they get anything done. They always seemed like a cosmetic item to me, though they seem more portable if you're connecting it to a laptop. I use a full mechanical keyboard with keypad and regularly use home, del, pg up/up keys and appreciate having the arrow keys in their own little area. I use a few of the F-keys too. To each their own, but I personally find these tiny keyboards to be far less useful than a full sized keyboard
Another angle for optimization would be QWERTY itself.
I'm going to make an argument I don't fully agree with, but I think is worth discussing: the dramatic increase in digital literacy affords us the ability to focus on aesthetics more now. When no one knew how to use a computer or what it could do, everything needed to be extremely descriptive and often needed a metaphor back to the "real world." This isn't (as) true anymore.
You should look harder.
Makes no sense.
KDE and MATE support all XFCE does, but they have each their own community driven ecosystem of extensions that are not cross-supported:
- KDE has https://store.kde.org/browse , and non-federated too
- MATE has a variety of non-federated plugins with no centralized-store like Compiz (which has it's own plugin ecosystem https://www.compiz-fusion.org/wiki_subdomain/welcome.html), and more
KDE is fully based on graphics accelerated drawing, it is expected AFAIK. MATE is mostly software-rendered unless extended with Compiz.
Basically, yeah. They can all be made to look and feel identical to each other, and their functionalities are supersets of MacOS launcher functionality set.
If you like real buttons and scollbars, KDE is very nice these days and is MUCH more stable than it used to be.
The sentiment of "looks don't matter" seems to be very common among Linux users. Or maybe they don't see the difference, but it would be like not seeing the difference between a beaten Lada car and a modern Toyota Camry.
So, both ugly, and only one with evidence of being useful and used?
As a Linux user or a developer, Cosmic is not something I can touch right now. I'm super excited for the future of it and they are making a lot of waves. They are giving Gnome the kick they need in making a functional desktop for real users. The fact that Gnome still comes out of the box with no real solution for multitasking (dock, bar, something) other than to randomly hit the super key or jam your mouse into a corner is insane. Every distro and 99% of users are installing some kind of multitasking aid (you don't count if you're using a tiling window manager)
I don't know all the specifics, but they also seem to be putting a realistic alternative to some of the plans, protocols, etc. Right now we have Gnome and KDE. KDE mostly does their own stuff and works with the FreeDesktop groups. Gnome works with them too, but more in a way of "here is what Gnome is doing you'll follow suite" kind of way. Having Cosmic as an option for people who want things closer to Gnome than KDE but don't want to deal with the "Gnome problems" will be good.
Why is it so hard for anyone outside of Apple to make a visually appealing GUI? It just requires a little bit of taste and sense of aesthetics. I am baffled that this hasn't happened yet. The closest thing so far is probably ElementaryOS.
I'm hoping this UI matures and allows for customization so that I can get it where I want it.
Apple spends billions on design, even inventing many of the core paradigms that have since become foundational. Apple still frustrates me with a lot of their choices, but let's not pretend just anyone can match their design prowess.
That and unless a software engineer has specifically practiced implementing pixel perfect designs from a great designer, then they don’t spot the errors. The design will feel wrong but they don’t know why.
They're also shitty for accessibility. If you're significantly visually impaired but still inclined to rely on your remaining vision, you'll find that (a) macOS doesn't let you jack the fonts up big enough and (b) when you actually do get large enough text just by jacking up the scale of the whole Ui, all kinds of text fields are truncated and some windows some even fit properly on your screen.
Aligning UIs by pixel makes them worse.
> Pixel perfect is a design approach that aims to achieve a precise and consistent look for a design, down to the pixel level.
You can't have, for instance, consistent alignments down to the pixel level, on systems with arbitrary DPI emulation, e.g., when you set DPI manually to something other than 96 in Xorg. This is where the usual caveats for 'fractional scaling' come in (because you have to render at a higher resolution and then scale it down), why such scaling often results in blurry text, why HiDPI displays are required for the normal scaling on macOS, etc. Such changes come in part in pursuit of enabling 'pixel perfect design' on the desktop, and they suck.
Commenters on this site will frequently point out things that are apparently misaligned by a single pixel. What is their complaint, if not that the UI element in question fails to be pixel perfect?
Whether the System Preferences pane must have a fixed size in order to achieve 'pixel perfection' is perhaps debatable. That such inflexibility makes pixel alignment easier is obvious. You think Apple have some other, better reason for System Settings being completely unresizable? What is it?
I say this as someone who used to not see the details, and then worked at a company where it was expected that we implement designs exactly. Ever since then I can’t _not_ see UI design details.
It’s like shopping for a car, once you’re biased towards a specific model you see it everywhere.
1. Engineers who are great at code, bad at UI and UX (unless your tastes are 1990s-2000s styles, you do you, but watch your market share always be niche. Reeducating the populace to see the superiority of your preferences compared to Apple is never going to happen.)
2. Engineers who are great at UI and UX but sloppy at fundamentals - take elementaryOS. Looks gorgeous, but every new release takes a complete reinstall, which is the most user-unfriendly way of doing a basic distribution task.
I’ve just learned to accept that Linux on the desktop is never going to happen.
As long as I can use the OS I like and how I like, I don't care about metrics like market share.
But using KDE, Gnome, XFCE or Mate and then popping into the modern Windows' hellscape shows that actually Linux on the Desktop is already here and pretty damned good.
Big margins and tons of whitespace is fashionable. Good design doesn't need to be fashionable, but it does need internal consistency. A Mac-style dock with big rounded corners needs some space to breathe. If you don't want to sacrifice that screen space then maybe it's better to go for a more angular design.
I think it requires a combination of things: a good taste, a sense of visual design and programming. The first two is more of art form.
Most of the developers on these projects are really good at programming but its rare to get a good combination mentioned above AND willing to work on open source over multiple years consistently.
Update: Also someone in the decision making hierarchy needs to have a keen sense of design. Example: Steve Jobs learnt calligraphy and even though he did not actually designed it he would certainly veto and pass feedback to the developers.
Some people think this is because it's hard to contribute as designers, but I think it's just that designers are brought up in a proprietary school of thought. It's just like some cultures have recipe-sharing and others have the notion of 'secret recipe'.
To my people there is no 'secret recipe': if you ask, you shall receive. But others hold this notion dear. This cultural divide pervades occupations and makes some incapable of sharing.
To that end... I don't see the point in imitating a desktop experience that is pretty stagnant and moving in the wrong direction (macOS; I'm a user myself) when there are the decades that preceded Y2K that could be mined for much more usable an interesting desktop experiences. There's BeOS, Amiga Workbench, Atari ST various windowing managers, OS/2, Windows 9x, the list goes on...
I still use Mac System 7.x from the mid-1990s which with a few choice extensions is basically equivalent to modern macOS windowing experience. And of course that goes back to the early 1980s with the prior System software and even the late 1970s with Apple Lisa development.
Go further! Be more daring!
- Mostly on an iPad Pro, no less: https://blog.gingerbeardman.com/2021/04/17/turning-an-ipad-p...
- Here's my latest artwork done in System 7: https://blog.gingerbeardman.com/2024/07/14/shibuya-pixel-art...
Believe it or not there are apps that run under System 7 that have no modern equivalents, or their modern counterparts are objectively worse. The vector apps I use on System 7 (Canvas, artWORKS, FreeHand, Expression) run rings round Figma in many important ways.
But for my part, at least, I typically 'tile' my windows by hand into thirds on my ultrawide monitor with Rectangle, then switch windows exclusively via fuzzy filtering across all windows rather than Command-Tab between apps. (I do occasionally still use Command-`, though.)
---
Nobody was seemingly capable to say no to either jobs or ives.
Jobs was a visionary for a lot of UX items - however, and this is my opinion-- He was heavily left handed (in thinking and physically) - thus a lot of his UX items are from A) position of supreme leader and B) his physical UX with all things come from a left-handed perspective, which is fantastic for certain things, poor for others)
and with Ive -- his over-powering desire to be the HW minimalist wreaked havoc on consumer wallets.
If he wasnt such a jerk about refusing a lanyard hook on the iphone - he cost consumer *billions* in cases, screens, etc.
Apples outright evil stance on connectors, and forcing their designs upon the consumers costs billions in wasted time, money, hardware, resources, angst etc...
I fn hate jonny ive's design decisions around the fragility of the iphones design for aesthetic.
Sure it has "gorilla glass" -- but a physical design that ensures that a single drop of the device kills it.
Then the decision to put inert glass panel on the REAR of the phone?
---
Had Ive ever stepped into any mall in Asia before and around the time the iphone came out he would have noticed the vast market for chotchky-lanyards that were sold in every cell store.
Those lanyard were *important* and there were so many stylings.
Basically - the folks at apple appear to have never been able to say "yeah, but" -- and no matter what anyone says - the market shows that they could not.
How many trillions of resources are in the trash because of aesthetic designs, and how many wasted human conscious hours due to frustratingly obtuse UX interaction have had.
There hasnt been an super-productive-revolutionary UX interactions that I feel macOS has given me?
(and I know its a cheap fn shot -- but for a visionary, releasing a touch only phone day-one without copy paste shows that UX was NOT the primary facto operandai -- but a profit operandai...
Ill die on my hill that jobs wasnt as truly a UX master as history writes himself to be. (Breakout anyone?)
The Cosmic environment appears to have a ton of window management features, which I find very nice.
There are a lot of advanced window management available in macOS. Exposé/Mission Control, Spaces, tiling, etc. though it's debatable which of these have been successful and which have not.
I keep hoping somebody will implement OS/2's Workplace Shell for Linux. Rexx would be nice too but I suspect most people would rather stick with a scripting language they already know.
https://www.os2world.com/wiki/index.php/The_WorkPlace_Shell,...
And the reality is that Linux desktop environments are skins. The widget toolkit is almost always a separate project. This is becoming even more pronounced with eg Wayland where the compositor just hands the client a surface to render its UI on and knows absolutely nothing about widgets or fonts (not that people have been seriously using those features of X11 for a while anyway.)
And honestly this is preferable. It looks hideous but it's much more pleasant to use. CWM doesn't have many features but the few it does have (such as the regex window title search) I so dearly miss on much nicer looking UIs (like OSX on my work computer.)
What does this mean?
Interesting history - but feed that to an LLM to grok - not a human (Sadly, some technical writer prolly almost committed suicide writing that by deadline)
--- but my other points still stand on the stat of Desktop UX (Specifically experience) -- when it comes to re-envisioning the actal X part of a destop UI/UX -- so little vision is happening (it would seem -- Im sure there are a flurry of dark-web eastern EU Bulgarian Hackers (looking at you Ivo) that could pull off a better new idea given some attention from real TechBro Money)
My understanding is that the point of developing cosmic is to enable distros and users to address UI issues in the first place, since GNOME is too limiting.
So this is potentially a really cool thing, not just somebody tinkering with stylesheets.
Probably the HN crowd is a bit jaded because of all the hyperbolic "low effort" distros/DEs that are just modified ubuntu/GNOME, but these folks seem to be legit.
I'm excited to see where it goes.
Also available on Windows with FancyWM, which has been growing on me.
There are a number of UX conventions, like tabs and tiles that often get replicated across both OS level and across different apps and they get slightly different key combos and interaction details.
It would be interesting if those conventions could be moved to the window manager layer instead. But then there are probably a bunch of interesting edge cases that needs solutions. Like should the file tree navigator of the ide exist in a separate WM-tile than the editor tiles? And if the file navigation spawns an editor, where should it appear? Etc...
I agree completely, and even popup menus, sidebars and other sections of apps could/should be handled above/outside the app, for consistency, flexibility, etc.
I would love a completely customizable desktop system.
Be able to select different window arrangers, docks, etc., for each workspace.
--
Thinking bigger, something useful would be persistent and named "worksets" of workspaces, that can be closed and reopened. One workset at a time, or multiple.
It would help to be able to view/edit/access the same docs and tools in multiple windows, across workspaces, with different sizes and placements. Think the same Word doc, open in different workspaces, with disparate sizes.
I would optimize worksets for every possible context: crafting areas, development projects, regular tasks, etc.
The result would be dozens of worksets, that let me return to useful contexts months or even years between visits. So the workset manager should allow for hierarchical organization.
And I would want worksets to sync across devices, along with my regular file and app syncing.
Yup. That's it. That is all I want!
I doubt that ChromeOS would have the same features if it were just a distro to install on unspecific hardware.
Eventually it'd become a liability for any linux user knowingly or not.
I use GNOME but with the animations completely turned off. That combined with the tiling shell feels really snappy and good. I am really considering forking that extension and also visually improving it a little (not a fan of their design language, though I like the modern adwaita style of gtk/gnome apps).
This is what has ruined linux desktop to me
I bet it's going to do the "pop out when you hover the mouse near an edge" thing that MacOS does that I hate too.
E.g. for Arch this leads to https://wiki.archlinux.org/title/COSMIC
I've broken past installs (Arch, for sure) by trying to do this on other distros.
Obviously, make a full backup (unless you're on NixOS, in which case, everything just gets rebuilt deterministically from a definition file in either direction, and all previous instances are saved, permitting trivial rollbacks)
This isn't a work PC, I tried Cosmic and just got a black screen and switched back to KDE
(Please don't try to convince me otherwise. Good luck playing Fallout London on Linux, for example.)
For the present a desktop should be as "invisible" as possible, like old Ubuntu Unity desktop, a thin bar, a launcher, the rest search&narrow, menu included via the Unity HUD. Gnome SHell doing the opposite on purpose, copying the rest have just showcased another btrfs answer for zfs, or the reactionary behavior of some devs who refuse to operate "under the hood" instead in narcissistically in plain sight try to do their best to keep up an essentially deprecated model.
---
If you want to redo the desktop, this is a Fisher-Price level of "why should I care" -- HERE Are the features I want in a desktop redux - (ita ll about the WORKFLOWS - not the fricken applets/widgets (the applets idea is a pullover, even if they dont know it, from when Android was seeking to be a good desktop, rather than a tablet, like vision (hospital devices - could give a tech talk on this)...
But hear me out WORKFLOW or CONTEXTUAL desktopping:
I can have multiple desktops on any OS - with a click-swipe left or right I can have another desktop. Which is akin to switching a clear spot on the physical desk.
What I would want within a "new desktop environment" is that I can swap between my "coding" "gaming" "research" "kids-screen-time" "python rabbit hole" "AI Image gen" contexts... with a differing visual clues to which setting im contextualizing:
Imagine you boot to your primary "normal desktop" - its just like any OS' vanilla post-login experience. Blank, no apps open, grab a browser, open a file, go to email - whatever.
Now - I want to swap over to Context[0] - coding.
I switch to that context, I get a visual cue (sure we can load pretty backgrounds, but a subtle change to the overall visuals of the windows dressings switch showing me I am in that context - it would load appletts that give me a preset of context that important (I select a series of things to pre-load, such as "Open VS Code with these folders, and launch FF with this set of contextual tabs. From this context block reddit, [other sites] - and ssh to this machine, give me a widget that shows connections to [environment] etc - give me a summary history of previous commands I was running, current active procs within [context scpoe] etc -- so effectively I have my development desktop context available.
Then I switch to research and its opens the things I want for that - connections to whatever GPTs, rstudio/some BI tool... whateer - and a bucket of tabs and history that are appropriate.
Kids tab is a sandbox for the kids as I teach them certain things... Or a Cooking context thats related to all things cooking. has a timer widget, last recipes looked up etc...
---
You get the idea.
(I wrote a white paper about this ages ago - and attempted to recruit some buddies from Goog multiple times to make the contextual computing relevant once motorola came out with that phone that could be docked with data (My white paper on the subject was written in ~2002-4 (cant recall now) -- which was that you held your environment in your mobile and you could walk up to any empty compute/gpu/KVM - slot your phone there, it is the key - it opens your context from device, and cloud, and gave your the local resources of GPU/CPU/KVM whereever you needed it. No storage on the local HW... but you could take advantage of it
(aside: A great alt model that is a modern version would be able to walk up to a heavy GPU with pre-loaded giant models - and you can plug into them for context and run your stuff locally against them and get your results - but walk away from them (think Hot-Desking but for big-ass-GPUs -- I havent thought too much about this - but its an effective analogy for when I first wrote about this)
Anyway -- What I want is a revolutiuon in HOW we see the desktop.
The analogy for a desktop, a physical desktop is dated -- now its "conscious compute contexts" -- Where the whole environment shifts to support what one is attempting to do.
###
This really sounds like it could serve the above.
The sharing it with friends:: or team members -- you should be able to invite folks to a context - such that you can have a multi-user context whereby you send an @COSMIC link to a context to a colleague over slack - they load the link, and it effectively launches a "docker" context of the environment to the other user... now they have all apps and deps to jump fully into the context.
This would be useable for teaching, guiding, troubleshooting, development, collaboration...
Set a master context and its all in a repo - and when other users need to upstream a dependency to the context they simply install whatever within their context and it acts like PR to the context owner. It allows for ephemeral installatino of dependencies - and you can tick for perm inclusion - else they evap on leaving context - yet the history of the ephemerals is kept incase you want to resurrect them/include them in the master context settings.
from a window management aesthetic -- KILL ALL WHITESPACE -- meaning all the superflous padding. Stop making desktop buttons look like shit I should be using on a kiosk.
With all that said:
Im down to try it I will give it an honest go - and if any Sys76 folks are here - I still have my gazelles - and my ticket about you swapping out the connector on the same model of box still stands! Ill see if I can make an applet -- specifically I want a context applet that is imbued with RAG -- mayhaps building the applet on txtai libs so that my entire bash hist is txtAI rag'd ...
Ill try out COSMIC on a flagship OMEN 3070 gaming box and see how this works...
I really want to see if I can imbue (imbue was the name of my white paper from ~2002 on the subject) the workflows I would like...
(I've Forrest Gump'd through a lot of technical tides in my sordid life in Silicon Valley)
Is this in effect to position it as an Android alternative for applications in things like cars, etc?
Like how endeavourOS uses purple rather than the default KDE colors.