Cosmic Desktop: Hammering Out New Cosmic Features
blog.system76.com
blog.system76.com
On one hand, the amount of fragmentation on desktop Linux is absurd. On Mac and Windows the desktop environment is synonymous with the operating system. On Linux, you can run one of 30 different desktop environments on the same distribution. This means that userspace bugs can manifest for any desktop-distro combination.
On the other hand, System76 is well positioned to create a desktop environment that is cohesive and complete since they’re trying to sell computers running them. Linus on the server has financial backing, and Linux on the desktop has precious little.
In terms of fragmentation, gnome and kde are the vast majority of configurations. Even other DE are likely using the underlying graphics library.
Given the level of customization that System 76 has to do with gnome for every release, it's probably easier for them to just create something more congestive for their designs.
And given that they actually sell and support hardware, are far more likely to make better choices for more general users than a lot of other DE in my opinion.
I do wish they'd make a deal with framework to get it with Pop as an in the box option supported by System 76... I'd pay a bit extra for that.
A typical KDE or GNOME system is more coherent than either Windows or (at least as I'm using it) macOS. On Windows, built-in GUIs don't even use all the same look-and-feel. On macOS, some vital third-party apps (e.g., Contexts) don't even respect dark mode in their configuration windows.
Linux has hundreds probably, maybe more.
It's not significantly better and combined with Mac and Linux a large reason many apps are using a skinned browser engine. You get better developer ergonomics for scaling, languages, screen readers, general accessibility and portability over many dedicated UI component libraries.
MAUI could have seen massive adoption with a Linux target (even if just gtk). It's not the biggest in terms of users, but it's become very large in terms of developer mindshare. Without it, it's an also ran.
I'm not a fan of gtk or QT. I don't really care for the shortcomings of most options at this point. Everything kinda sucks. Skia may gain traction and patch the missing pieces, but who knows.
Right now, when is the only mostly safe option for cross platform general desktop apps. Which is weird.
It’s easily reversible, fortunately, but it really threw me for a loop when I wasn’t able to update my Tumbleweed packages. Heh.
Read-Only Filesystem: If you're not on an immutable distro you may notice that /usr/ and /opt/ are read-only. this is caused by systemd-sysext being enabled, when you are done testing you can disable systemd-sysext (sudo systemctl disable --now systemd-sysext)
It is thus no proper method for long term deployment.
It makes sense to me but it definitely caught me off-guard.From the man page:
> systemd-sysext activates/deactivates system extension images. System extension images may – dynamically at runtime — extend the /usr/ and /opt/ directory hierarchies with additional files. This is particularly useful on immutable system images where a /usr/ and/or /opt/ hierarchy residing on a read-only file system shall be extended temporarily at runtime without making any persistent modifications.
> [...]
> The primary use case for system images are immutable environments where debugging and development tools shall optionally be made available, but not included in the immutable base OS image itself (e.g. strace(1) and gdb(1) shall be an optionally installable addition in order to make debugging/development easier). System extension images should not be misunderstood as a generic software packaging framework, as no dependency scheme is available: system extensions should carry all files they need themselves, except for those already shipped in the underlying host system image.
> [...]
> Another use case for the system extension concept is temporarily overriding OS supplied resources with newer ones, for example to install a locally compiled development version of some low-level component over the immutable OS image without doing a full OS rebuild or modifying the nominally immutable image. [...] This case works regardless if the underlying host /usr/ is managed as immutable disk image or is a traditional package manager controlled (i.e. writable) tree.
https://www.freedesktop.org/software/systemd/man/latest/syst...
So I guess this method is being presented to testers to give them a more controlled way to test.
I've never been a gnome fan almost always switching to xfce but on PopOs! its alright!
I'm very much looking forward being able to drop Gnome and use Cosmic instead - having thumbnailsupport is going to be an improvement.
What is this referring to?
Do they actually generate a thumbnail or do they just show the available ones? Honestly I don't follow the issue I just know that thumbnails have been an absolute mess in gnome as long as I remember.
I haven't tested it, but either way the current plan is to replace the GTK file picker with Nautilus in a "file picker" mode. So if it is a problem it should in theory be fixed with that.
https://discourse.gnome.org/t/planning-filechooser-portal-im...
On most Linux DEs you hold Alt for that...
Holds up my chin.
defaults write -g NSWindowShouldDragOnGesture -bool true
So does ... to a windows's resize border. Have they/do they plan to implement a similar thing for resize where instead you can drag to any ~20% of the side (with a modifier)?
Super + Left Click lets me drag a tiled window to a different location, while Super + Right Click lets me drag to resize. I usually do both with my keyboard but it's nice to have the option.
(Mind you, a tablet PC running Linux will nonetheless be vastly more productive than even an iPad. But still.)
touch/drag from window center area to move
touch/drag ~20-30% of window's sides/corners to resize in that direction
If this was all it's going to be I don't understand what the point was.
Cosmic isn't trying to be a GNOME clone but to present an alternative vision. So if stock GNOME is lacking for you, Cosmic is an exciting alternative that may suit your needs as it matures. But if you're happy with GNOME, that doesn't necessarily have anything to do with Cosmic's design.
They were also limited in things they wanted to do with the default window tiling ui.
Sorry bit vague it was ages ago I listened to the talk - probably this one: https://youtu.be/ioswlaxdhSA?si=DlVQ-jDu5G3A3Iru
I was under the impression that the point of doing this was to have control over the hardware and the software to build a complete package a-la-Apple (though nowhere as deep) because once they have the software stack too, they have the flexibility to quickly add a lot of end-user life-improvement enhancements. Maybe I was presuming too much.
So they could either spend resources continually keeping up with Gnome and adopting all their changes, or they could go away from Gnome. Gnome is increasingly pushing in their own direction, so this would increasingly get harder and more time consuming in the future.
Given what their costumers expect, it makes sense not to go into a totally different direction and invent something totally new and revolutionary. The new Cosmic should be reasonably close to the older Gnome based Cosmic.
They now have the freedom to evolve their DE away from Gnome, they are no longer constrained by Gnome applets (and their long term support) and I suspect in a couple years the difference to Gnome will be bigger then it is now. This is already visible, with the raw default version of newest Gnome (not the one Ubuntu or PopOS delivers) being quiet a bit different from what you get with Cosmic DE.
What would you have liked to see be different is maybe a more interesting question.
[0] https://en.wikipedia.org/wiki/Kai_Krause
Only apps that refuse to comply with native styling is web-browsers and IntelliJ.
Although I've found an old qtwebkit based browser called Falkon that, despite running an outdated engine, does a decent job of rendering most websites I visit, while having a working native scroll bar and mostly not fucking up the native controls with CSS crap. It's what I daily drive for most of my surfing.
My eyesight is kinda garbage and this theming is mostly an accessibility accomodation, not so much a nostalgia thing. For all the attention accessibility gets in UI/UX circles, it's kind of ridiculous how Windows 95 absolutely takes most modern UIs to school in that regard. 100% of the software I struggle to use is born out of state of the art design sensibilities.
(Since it seems that the b00merang repo has gone mostly unmaintained, it would be nice if it got imported to Chicago95 itself.)
Frankly, almost nobody in the world uses that type of Desktop Environment anymore. So if its so great and perfect and superior, you would think it would be more popular.
You have to fight hard to get access to this type of desktop environment. With the singular exception of SerenityOS, no operating system offers an easily accessible paradigm that isn't 14 shades of flat, low density and low contrast.
Enlightenment was one of the first window managers that used bitmapped assets for window decorations. IMO, it was one of the first UI things that distinguished Linux and its community from that of the older corporate UNIXes.
I always preferred HP VUE. It looked great for its day. It was later boringified by Sun and IBM to make it more corporate and released under the name CDE. Because of course IBM wouldn't stand for nice colours.
TIL - I have used CDE in the past but didn't know that it's origin was HP VUE.
> Because of course IBM wouldn't stand for nice colours.
I remember starting with DOS and then SunOS. The setup we used had both basically in terminal mode all the time (don't know if SunOS had its own DE). Then came Windows for Workgroups and for some reason, even after coming from an all-TUI setup, I wasn't blown away with the UI.
However, later we ordered a beefy Solaris machine (it came with its own tray that had wheels) - thats when I saw CDE for the first time. Don't know what it says about my aesthetic sense, but I thought it was the most beautiful DE I had seen; I loved exploring it. Also, the DE colors were in alignment with the color palette used for casing/monitor/mouse - a cohesive package. Also remember the positively giant 17" CRT with Sun mouse which felt much more precise compared to the cheap desktop mice we had. I was very impressed - maybe that was the start of my bias towards *nix.
Also, HP used mostly sans-serif font and CDE the (in my view) more boring serif ones. It was really like the IBM business suits had screwed it all up. Unfortunately HP refused to support VUE any longer. I still have it here though on a HP-UX 10.20 machine.
Sun was good at design of their machines (much better than HP) but not the UI in my opinion, their java desktop was also super ugly.
Of course tastes differ :) So your mileage may vary.
Seems they still have similar examples on their screenshot page: https://ice-wm.org/screenshots/
Had an already fairly obsolete dual Pentium 3 Dell precision workstation which was spray painted black because it had gone embarrassingly yellow and looked like someone had peed up it.
Edit: looked it up, Precision 420. Matrox, ECC, dual P3, SCSI disks. Felt like royalty owning that.
Even though Cosmic has a similar flat look, I'm still looking forward to it since theming does seem to be something they're open to.
I don't really understand the purpose to be honest. With the exceptions of interfaces that are explicitly designed to simulate physical environments, what's the point? Flat designs are a logical consequence of form reflecting function, you're interacting with digital, binary elements that are on or off. Skeuomorphism existed because familiarity of mechanical or analog elements was maybe useful for someone who didn't know digital interfaces, but we've grown out of this.
A finger or mouse is not a "digital, binary element", it needs to be actively pointed at and grab stuff. The whole point and "function" of 3D depth in UI is to highlight things that you can aim at and grab.
Although I could just save all dotfiles, configs and extensions via file backup, I always struggle to create a script based setup.
I would love to maintain a list of extension names, settings etc and have something like:
gnome-extension install --config-file my-extension-config.txt
kde-plugin install --config my-plugin-config.txt
gsettings set --config-file my-settings.txt
just a little more reliable... Maybe a hard problem, but I think this would be great.Export settings would also be great.
gsettings export --to my-settings.txt
:-)And then for something more sophisticated there are extensions like https://github.com/Bismuth-Forge/bismuth.
It does all feel a little disorganized/wild-west-y compared to say, a .vimrc with a list of plugins and bindings, which is something that makes a system like Nix (or a fully containerized DE of some kind) appealing
That is exactly what I'm missing. NixOS is pretty high in my todo list.
COSMIC has no need for an alternative to GLib or GIO. Rust's standard library, the futures crates, and tokio are more than sufficient for handling I/O and asynchronous code execution. libcosmic uses tokio executors for handling application commands by default. You can bring your own executor and thread pool libraries if you want.
I like the idea of writing more apps with Rust and if the ergonomic fit is better than alternatives, this could be a great way Forward. Bridging themes with gnome/gtk in the other direction likely a necessity for that use case.
My only other concern is getting kde tray apps to work out of the box. With budgie/Gnome, I've had to install an add on for that.
Not that I have a lot of things needing the integration. Variety and Dropbox being the main ones for me.
It's also annoying when Windows don't have a corresponding handle in the taskbar.
If they deal with these annoyances well, I'll be more than happy with the next Pop release.
Illustrated example from a different compositor https://github.com/WayfireWM/wayfire/issues/570
It's the only DE I'm excited about it so I hope they fix that. Very very promising and the best part is that it made the GNOME people mad.
GNOME: "Sorry I don't see the use case for that, PR closed. Make your own project."
Cosmic: "Yes"
You can still grab the window or double click it even if part of it has a search bar in it.
The can reuse the same libraries and components across lots of applications, terminal, editor, settings and so on. Look at 'cosmic-text' for example.
Plus it makes sense since apps developed with GTK/QT will not show of the full advantage of the new DE.
System76 has to support everything they shit to costumers. So if they ship Alacritty and it has a bug they need to fix it.
So it makes sense to have tight set of libraries and application that they control.
I would like to fire up a VirtualBox VM to try it out.