I wanted to write a desktop app with Rust for a while and considered Tauri, Flutter (via rust-flutter-bridge) or a native framework like Iced, I think with the larger adoption it might make sense to go with Iced, though it's probably still much more experimental than frameworks like Flutter.
I gotta say, Iced doesn’t appear to scratch the same itch though. The only one that comes close to what I want is Vizia [1].
[0] https://github.com/MatthiasGrandl/loungy [1] https://github.com/vizia/vizia
Loungy and Helix-gpui were my inspirations to look into GPUI, so i'd love your thoughts :)
On top of that you are stuck with their async runtime of choice (smol), while Iced supports both tokio and smol. This is annoying when you have some tokio dependencies, of which there are a lot.
I played around with Iced a bit now. I like it a lot. The only issues that keep me from porting are:
1. I can’t replicate the GPUI popup window with winit. I am currently trying to patch winit to make it possible, but am a bit lost. 2. I do like the tailwind like syntax for styling components in GPUI a lot. It just fits my mental model a lot better than Iced.
That said I think Iced is the cleaner framework of the two and if you are designing a traditional windowed application, I would recommend it in a heartbeat.
[0]: https://slint.dev
If my actual opinion interests you, I might lean towards the LGPL, rather than the GPL. I find both of them more beneficial than any of the MIT licences for a UI framework, but strong copyleft might do more to hamper widespread adoption and interest in the project, which seem an important factor as well.
I do wish more things were covered under licenses with strong "copyleft", but I don't begrudge anyone the ability to license their hard work however they please.
iced wins by a landslide.
it's just hard to learn at first but mostly because you start "not thinking with portals" and struggle. 9 out of 10 times I was just holding it wrong when I struggled.
I'm also having this debate. Performance, stability and longevity are my biggest concerns. GPUI seems so focused on Performance that it's really attractive, but it's also a UI lib second to the App that it's written for, Zed. So i'm a bit flummoxed on if it's worth investing time and effort into.
Iced is my comparison, just not sure how the performance can compare to GPUI.
I tried Halloy [1], an IRC client that's listed as the first showcase app on Iced's site. It's pretty, but it doesn't even support triple-click selection or context menus. There is no menubar on macOS.
Iced is very nice for an upstart UI framework - I don't want to minimize the amount of work that they've put into it, and how cool it is that they've gotten so far - but shipping a desktop environment based on it is shortsighted.
Iced has accessibility listed as the first item on its roadmap after the upcoming 0.13 release. https://whimsical.com/roadmap-iced-7vhq6R35Lp3TmYH4WeYwLM
You're misjudging an experimental library for not having every feature you could ever want before an 1.0 released without doing your diligence. The docs literally open with
iced is a cross-platform GUI library focused on
simplicity and type-safety. Inspired by Elm.
Disclaimer
––––––––––
iced is experimental software
https://docs.iced.rs/iced/As I said, Iced looks awesome. But it's also, as you said, experimental. Using an experimental library for a DE could be a huge mistake, no matter how promising the roadmap is. Ideally you'd wait for the project to ship some of the non-negotiable things on the roadmap (accessibility, system menus, RTL text, keyboard navigation...) before tying your fortunes to it.
[1]: https://github.com/iced-rs/iced/issues/552#issuecomment-2180...
Iced is also super themeable which is a really nice change compared to GTK. Check out https://cosmic-themes.org as an example!
Is it more capable? Easier to create? I don’t think it’s obvious just from the theme store.
GTK has more and more become a stripped-down toolkit that requires you to write or use a "platform library" (like libadwaita) in order to do useful things. Judging by the deprecations in GTK4, as well as statements from GTK developers, GTK5 will be even more stripped-down. This just makes it harder for non-GNOME projects to use it.
On top of that, each major GTK release comes with drastic changes to how classes of widgets work, which for smaller teams could mean years of work to migrate to the new version. I don't begrudge the GTK developers their ability to make all of these sorts of changes; after all, I'm not paying them for any kind of support or feature set. But it's still frustrating for smaller teams that don't realistically have the ability to take on the maintenance burden of an entire UI toolkit.
Gnome does not expose this at all (except for the built in dark mode) and they actively discourage any kind of theming. Gnome 47 will finally support accent colors, which they reluctantly implemented after it became a freedesktop standard and most distros were patching it in anyway.
Besides that, there's still a lot of settings and functionality missing from the previous Gnome iteration. I believe they're slating for a release by the end of the year, which seems optimistic.
I've been following the progress of Cosmic casually. To me it seems a slightly more [cohesive|streamlined|robust] version of the current desktop, which would be great.
Although it also seems like for non-early adopters like myself who just want to use something that works and gets out or their way is a long way off. Videos reviewing the alpha version say this fairly universally.
As for freshness/pace of updates, it really is a matter of taste. Even though I've been using Debian stable in one form or another for nearly 25 years, and it's still my platform of choice for servers, when it comes to desktop, I find it hard to move away from ooensuse Tumbleweed, cause TW makes even Fedora feel old and stale.
Debian testing or sid are more or less that. Barring major upgrades (Plasma 6 is taking some time), most packages are kept quite up-to-date.
But yeah, there are options! One shouldn't be afraid of being on the base distro.
I could totally see using something like Debian stable in a pure Linux environment with no newly-supported hardware being added, though.
- The clock doesn't show the weekday or the year and shows the month by name rather than by number,
- Can't make the stupendously oversized title bar smaller,
- Can't change the mouse cursor theme,
- I hate dynamic workspaces, I just want to open something on, say, workspace 3 and have it stay there.
However I do like some things it does:
- Independent workspaces per monitor, so if I switch workspaces on monitor 1 the workspace on monitor 2 stays the same. This is the big one which I miss in KDE, though I wonder if that means that Cosmic isn't EWMH compliant (as if it matters),
- (Mostly) sane keyboard shortcuts, where (almost) every DE-specific shortcut involves the Super (AKA Meta, AKA Mod4) key. I believe Apple's OSX also does something like this where all the desktop-level shortcuts involve the CMD key,
- If I move my cursor to a monitor with no open applications, hit the shortcut for the application launcher, and launch an application; then it opens that application on the monitor with the cursor. KDE (with Kwin) struggles with that, so I call that another win.
For reference I'm currently trying Cosmic on Tumbleweed, some of that stuff may differ between distros.
Is this also enforced for apps? I'd switch back to linux in a heartbeat if I could do this. The use of `control` as both a UI and a terminal binding basically ruins the entire os for me.
AFAIK (i haven't checked) EWMH does have provision for multiple "fake root" windows to handle multiple virtual desktops in multiple monitors, but most window managers do not bother. I think i3 (or some other popular tiling WM for X11) does support those though.
I didn't check anything out in person, but have looked at reviews of framework, system76, thinkpads and there hasn't been one where there haven't been serious complaints (e.g. bent parts in some framework 16s causing the whole thing to rattle.)
(Is an M1 Air with Asahi a good idea?)
So I'd say System76 is currently good for desktops. If you need a laptop them IMO frameworks are by far the best option right now. Modular laptops are great and makes problems like you've heard about super easy to remedy as you can just replace the parts easily yourself.
- how long does it take from lid open to lock screen?
- which distro are you using?
I have a ThinkPad 25 for personal use with Debian and that's great too. For machines that I use routinely I don't have time for any issues.
$ upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep energy-full
energy-full: 33.5388 Wh
energy-full-design: 50.9732 WhW11 and AMD has been fun. We had to disaple CPU Power Management in Bios and disable fast reboot as systems would struggle to come out of sleep.
Multiple models had hardware issues, especially E series (which are desktop replacements for us). Many of the T series will have chassis intrusion just trigger constantly and require depot work to fix.
None of these are insurmountable but they cant be ignored. Still doesnt have me going to back to Dell's build quality and Intels heat issues. Most AMD laptops can run on power saver for 98% of our workloads and be fine.
I love the form factor, feel, weight, screen, etc… it’s really just the CPU that is ill-fit for the machine. I wish I could swap it out for a low-voltage Ryzen or Snapdragon, which would probably add 4-6 hours of life on the same battery.
This also doesn’t seem to be fixed on the newer Nano’s, which last I knew for some incomprehensible reason make use of higher power Intel Core models instead of the low voltage U-class CPUs that suit it better.
Would you recommend an Intel version?
M1 Asahi remains a curiosity in my humble opinion.
It's not easy these days to find a compositor that doesn't screw your power management in a little subtle way. Either your displays keep waking up all the freaking time, or they won't wake up at all when you need them to, or they get blank but backlight continues to blare from them.
What I liked about good ol' X was that the buck stopped with the X server, and if it was fixed there, it was fixed everywhere. Now you are in a maze of twisty little compositors, all different, all squabbling between themselves about this or that, and in the meantime nothing ever works.
I bet the moment Wayland gets to a point of stability where there will be like .01% left to do to reach the complete desktop productivity and entertainment nirvana, even across all the compositors, some bored whippersnapper will declare that this .01% requires a paradigm shift and a complete rebuild from the ground up, at which point everyone will jump ship to some... Zayland, declaring Wayland obsolete effective immediately, and we'll have another decade until fonts are not shit and the clipboard works again.
I was about to mention that this is using wl_roots, like every other new Wayland compositor that isn't GNOME or KDE (and i remember reading some comment that even some KDE devs want to switch to wl_roots), but that was actually an assumption of mine (because it sounds like the sane(st) choice if you decide to make a new compositor) and turns out that, no, they're not using wl_roots but instead something called Smithay (which is not wl_roots bindings for Rust).
Looking forward to trying COSMIC out again in stable, the alpha was actually very good. Let's see how they approach extensibility, as the GNOME extension fragmentation ended up a reason for my choosing Fedora.
Also if you were considering installing linux for a family member, I found ZorinOS was very good for this
The product page is better:
[EDIT]: also useful :
https://www.youtube.com/results?search_query=cosmic+desktop+...
On my screen, the very first line (third sentence, but the first two are pretty short):
> COSMIC, our new desktop environment for Pop!_OS and other Linux distros
After that, a link to the very page you linked. What more should a release post do?
I am already using the Cosmic apps quite a bit.
EDIT: Almost forgot about Unity, which has arisen from the ashes.
One issue that I had is fractional scaling for Electron (and older X11) apps on Wayland (same issue with Gnome and most DEs). Apps are blurry. It seems that only KDE Plasma figured it out. Plasma has an option "Apply scaling themselves", which just works.
[1] https://copr.fedorainfracloud.org/coprs/ryanabx/cosmic-epoch...
EDIT: Well, this is indeed doubles as a 24.04 LTS alpha, as noted further down in TFA.
That said I'm a former employee and while I worked there they were very privacy focused. I don't see why that would change and I bet we'll see this solved.
KDE is great, but it's enormous. If you like it, go for it. This is almost more for the OpenBox or perhaps Gnome folks. Minimalists. Curated, opinionated, fast (yes KDE is also fast)
At this point I feel like I probably should have just used Kubuntu instead and be up-to-date (Pop! is still stuck at 22.04). Everything works though and I am too lazy to risk issues / dealing with time spent on setting everything again.
https://old.reddit.com/r/pop_os/comments/1f2suin/cosmic_alph...
I just wish they add an applet that integrates Google Calendar stuff in their calendar, so I can know if I have a meeting or something coming up at a glance.
primary annoyances are the lack of stable workspaces (i3 has that issue too) and the inability to remove window title bars. most apparent missing features so far are the lack of a load monitor applet and the workspace pager not showing thumbnails of what is running on each desktop. also I couldn't figure out how to put launcher buttons on the panel but not sure if that's a missing feature or something I'm missing.
While I like the Gnome desktop project, they do sometimes feel a little slow in their rate of innovation & their openness to innovation. Merge requests that everyone's pretty much on board with can be open for years. Maybe Cosmic desktop's “fork” (technically re-build) and a little competition will speed them up like Node was sped up by Bun and Deno!
my laptop died with well known display dash gpu issue, and once upgrade failed so i had to follow some esoteric command line things in recovery.
afaik framework they started rust ui thing is not that may be wins idiomatic rust ui(qt slash gnome of rust). so guess there will be rewrite.
and yeah, i sorrow bying system76 while being in europe, better go was local msi or even mac pro.
You can kick the alpha tires on System76's Cosmic, a new Linux desktop - https://news.ycombinator.com/item?id=41234849 - Aug 2024 (10 comments)
Cosmic: A New Desktop Environment - https://news.ycombinator.com/item?id=41192303 - Aug 2024 (198 comments)
Cosmic Desktop Close to Alpha Release, Adds Compositor Multi-Threading - https://news.ycombinator.com/item?id=40948942 - July 2024 (4 comments)
Cosmic Desktop: Hammering Out New Cosmic Features - https://news.ycombinator.com/item?id=40074383 - April 2024 (110 comments)
Cosmic Desktop Is Slated to Debut with Pop _OS 24.04 LTS - https://news.ycombinator.com/item?id=39418855 - Feb 2024 (46 comments)
Cosmic Desktop: Closing in on a Cosmic Alpha - https://news.ycombinator.com/item?id=39372762 - Feb 2024 (19 comments)
Cosmic: The Road to Alpha - https://news.ycombinator.com/item?id=38984739 - Jan 2024 (17 comments)
System76's Cosmic Desktop Working Toward Its Alpha Release - https://news.ycombinator.com/item?id=38959271 - Jan 2024 (10 comments)
Pop _OS Cosmic Desktop Improving Multi-Monitor and Multi-Window Support - https://news.ycombinator.com/item?id=38656529 - Dec 2023 (43 comments)
Locked and Loaded with New Cosmic DE Updates - https://news.ycombinator.com/item?id=37970594 - Oct 2023 (28 comments)
COSMIC DE: Desktop environment created for Pop!_OS and other Linux distros - https://news.ycombinator.com/item?id=36725105 - July 2023 (148 comments)
Cosmic DE update: System76's new Linux desktop environment - https://news.ycombinator.com/item?id=34599094 - Jan 2023 (260 comments)
Pop_OS Cosmic Desktop to Make Use of Iced Rust Toolkit Rather Than GTK - https://news.ycombinator.com/item?id=33066593 - Oct 2022 (93 comments)
Cosmic: System76 take auto-tiling intuitive desktop environment - https://news.ycombinator.com/item?id=27683615 - June 2021 (1 comment)
System76 Developing “Cosmic” Desktop Environment - https://news.ycombinator.com/item?id=26798080 - April 2021 (414 comments)
It's Rust based and brand new (more secure, less bagage, Wayland native, no fragile plugin system, etc). I'm really looking forward to it.
I love Gnome but I want (at least) quarter tiling, but rather have the flexible tiling KDE offers (where you drag windows into predefined areas and they snap, preferably windows always open where they are dragged once). I want speed, I want it to get out of my way. My current flow is: Open window, hit win + left arrow, open another, hit win + right arrow, have 2 windows together on ultra wide. I do the same on 2 or three other desktops. And then I start working.
Oh, something nicer than Network Manager would be nice, something simple with super simple WireGuard VPN integration, etc.
Currently I'm still very happy on (daily driver) Gnome on NixOS, but will surely check this out soon.
This is what I've used Pop!'s Gnome extension (https://github.com/pop-os/shell) for in the past. I don't think it'll receive much love after Cosmic is released (after all, Gnome itself is being dropped) but if it still works for whatever version of Gnome you use, it may be worth checking out.
After using FancyZones on Windows, Gnome's lack of tiling management on my ultrawide has become a bit of an annoyance for me. Unfortunately, my copy of Pop Shell broke at some point.
> no fragile plugin system
While I don't like Gnome's tendency to slow down or crash, I do very much like the plugin system. Things like GSConnect and various smaller tweaks improve my Gnome experience a lot.
I hope Cosmic does expose some kind of plugin system, though hopefully one that's not as prone to lag and crashes.
Its absolutely annoying. You have configured something you like, next gnome version they are gone.
Cosmic plugins are their own processes (generally written in Rust) using very fast Wayland and be much more stable. In fact, a much larger amount of the functionality already lives in plugins. Its a game changer in the long term.
You probably know this already, but I'm saying it anyway (hope you don't mind): The intuitive keyboard shortcuts would be win-right-arrow (then) up arrow for the top right corner tiling, like Windows does quarter tiling.
Also, Gnome (half) tiling has the windows sliding, your extension jumps them, and requires extra button (ctrl) ootb.
Very small things, and I will for sure keep the extension installed and use it, thank you!
Gnome comes with a lot of baggage both technical and organizational, this has lead to situations where Pop_OS! wasn't able to manage/change/improve things like they think they needed to do hence why they started to create Cosmic. Just be clear this was a business decision by system76 to some degree, not just some "I don't like it so I created something even if it doesn't make sense" decision.
it looks like Gnome because it's for people which had been using Gnome so far, but it's just similar not the same and likely will only diverge more over the next many years assuming it succeeds
At first glance, it seems like a truly massive effort for a marginal improvement, that could have been made with a fraction of the cost. I'm probably wrong though, hopefully.
So to support what they wanted and what they promise their costumers they would have to do increasingly more and more work, in direct oppositon the the gnome community. Essentially eventially forking it. And then they have to maintain a huge legacy codebase.
And they didnt wirte a completly new one. The compositor was already a project. So was Iced. They use lots of other existing project in the Rust ecosystem.
Now they are on their own, free to build what they want, rather then endlessly pushing a rock up a mountain. They can now make more fundamental changed that would never have been possible in Gnome. They are also free to build the community they want rather then deal with the Gnome community. This also makes them a player in the Wayland community, another voice that can push protocols.
I read somewhere that 50% of the development time on Pop_Os was spent simply un-breaking the Gnome shell extension between releases of GNOME.
Now they can put that time into creating what they actually want.
Hyperbole is so boring
At the same time they have invested a lot in hardware as well. Their own case, their own mechanical keyboards. They are doing thab because they want to make their own laptop eventually.
They want to be a more open Apple, with a great hardware and software story. It just a much longer path to get there.
The only angle I see is that they believe having their own DE will help them sell more laptops. That seems like crazy assumption to me because if someone likes the DE they can just install it on their existing laptop or buy a non-System76 laptop and install it there.
Could be invested better. Maybe, maybe not.
In terms of marketing, this certainy has gotten their name out there. Between PopOS and Cosmic they are becoming known globally in the whole linux world. Every single linux influencer has been reporting on this. PopOS is an often recommended distro.
Would it be better to buy google ads. Maybe in the short term. But the money would go towards their overall goal.
In the long term being the company know to be behind the best open hardware and open software projects seems like a better strategy.
I think if they can supply there hardware with a smooth and modern desktop they will have an amazing product.