10 ms·
Pop_OS Cosmic Desktop to Make Use of Iced Rust Toolkit Rather Than GTK
- superkuh 4y agoThey can do this for the desktop environment programs but the vast majority of GUI programs for linux are going to use Gtk or Qt. Not having to do all the distro-side patches required to fix the GNOME dev's Gtk3 breakage (not sure if Qt is this way or not) will leave their distro much rougher than other distros when running non-Pop_OS programs. Also, the fact that Iced Rust also targets the 'web' suggests to me it will not be a fully capable toolkit (as web cannot do what native can). Seems like they're going to be using this by themselves... and that's fine. Pop_OS has gone off on their own successfully before.
- givemeethekeys 4y agoI remember running GTK apps on KDE desktops just fine. Why wouldn't I be able to run GTK apps on their ICE powered desktop? Re: web - isn't the purpose of WASM to make possible in web environments that which is possible on desktop environments?
- nvrspyx 4y agoMaybe they mean aesthetically? KDE basically makes a clone of their Breeze theme for GTK to try to make all apps have a consistent look on KDE. I believe the reverse is true with an Adwaita theme for KDE/Qt apps, but don't quote me on that.
- spookie 4y agoYou can find versions for both "toolkits" even in custom themes. For the end user it's mostly a non issue. Even with different backends it looks more consistent than Windows.
- nvrspyx 4y agoThat's true, but the Iced theme that they're showing in the images looks like it would be very difficult to recreate in GTK and Qt. That's not mentioning the increased amount of time and effort in maintaining those themes. Perhaps this is an area that the community will contribute to though.
- mmstick76 4y agoColor palette adjustments alone would bring it pretty close. We can automatically generate them on the fly.
- linmob 4y agoThe same is true with an Adwaita theme for KDE/Qt Apps. I used to do this on both, Plasma and GNOME. These days I style my Qt/KDE apps all Breeze on GNOME and vice versa when I am on KDE, because unfortunately icon sets just don’t match up and I've run into 'invisible buttons' issues way to often. As long as both are in dark/light mode I find this way less annoying than having to hope for a good enough tooltip on mouse over (or just tap and see on mobile).
- 1langisbad 4y ago> Why wouldn't I be able to run GTK apps on their ICE powered desktop? Of course you would be able to, just don't expect the theming to match, the menus to have similar structures, dialogs having buttons in predictable places, etc. > isn't the purpose of WASM to make possible in web environments that which is possible on desktop environments? I don't think so. I think this is the purpose of all the new Web APIs more than WASM. The sandboxing and the inability to call out to the system is crippling for GUIs in WebAssembly. It works well if you control the drawing and are able to output raw data to a <canvas>, but it's a hassle. WASM works the best for things like opencv or dlib, but I think the GUI for the apps compiled to WASM will need to be written in JS for quite some time, if not forever.
- dmd 4y ago> Of course you would be able to, just don't expect the theming to match, the menus to have similar structures, dialogs having buttons in predictable places, etc. I think nearly all Linux users - and most Mac/Windows users who don't remember how things were back in the XP or classic Mac era - don't realize these are even goals or something that has ever existed.
- 5d8767c68926 4y agoIt does feel like an odd complaint. I have had mismatched desktop elements for a very long time now. What's another oddball entry on the list?
- tssva 4y agoI remember exactly how things were with Windows going back to Windows 3.0. This never existed on Windows.
- mmstick76 4y agoRest assured that anyone with experience with a GTK3/4 application is going to have an easy time with the COSMIC designs. A lot of aspects will be similar. Maybe even a bit more standardized in some ways.
- pkulak 4y agoPlenty of folks use WMs like Sway that don't use GTK or QT and everything is fine. You just pick a theme and it gets passed to GTK and QT apps. I guess if you show decorations, they differ between apps, but it's really not terrible. I think we're all used to that by now, on every OS.
- superkuh 4y agoI'm not talking problems with DE toolkit applications. I'm saying that without the additional incentive to round down the sharp edges in Gtk3 with a custom distro patch set to get their DE working right (they won't have to because it's not gtk) they probably won't maintain the aformentioned required distro patches to gtk to fix all the frozen in bugs/feature removals. And so running gtk applications (most linux GUI applications) on these distros is more likely to have these sharp edges.
- linmob 4y agoPop!_OS is still based on Ubuntu, so I doubt that they are going to ship unpatched upstream GTK, it's more likely going to be patched by Canonical.
- superkuh 4y agoUnfortunately Canonical does not fix gtk3 either. Ubuntu after 14.04 is broken and you cannot paste file paths into Gtk3 program's File-Open dialogs without an elaborate key sequence to bring up the pathbar first. But it is fixed in gtk4, which Gnome uses, so Canonical doesn't care.
- mmstick76 4y agoWe will have our own file dialogs as we complete the Iced GUI library.
- mosselman 4y agoI have used popos in the past and was very happy with it. The current install is stuck in an unupdateable mode because the underlying Ubuntu reached end of life. Once I get around to it I’ll gladly reinstall the latest. What I liked then is the idea of privacy, which I didn’t spend a lot of time to verify and the ease with which I could play games like GTA V.
- teruakohatu 4y agoYou can switch to the Ubuntu old release archive in your /etc/apt/sources.d/[system, or something like that] and then do and apt update https://discourse.ubuntu.com/t/cant-update-old-ubuntu-version/17703/3 https://discourse.ubuntu.com/t/cant-update-old-ubuntu-versio...
- mosselman 4y agoWow thanks, I will check that out!
- dbrgn 4y agoIt's advisable to spell it "PopOS" or "Pop!_OS", otherwise it's the German word for "butts" :)
- lowbloodsugar 4y ago“popos” it is then.
- CharlesW 4y agoWhy does System76 spend (presumably valuable) resources on Pop!_OS when it presumably works equally well on other Linux boxen?
- teekert 4y agoSame goes for Red Hat? And I guess "equally well" may be true, but ymmv, so there is that edge. And then there are people like me that prefer to spend their money on parties like this.
- pjmlp 4y agoActually Red-Hat was the first Linux vendor to acknowledge there is no money to be made in the Linux desktop, so what they do is to keep the basic infrastructure of a UNIX desktop going. It was this pivot move that allowed them to be were they are in the world of Linux distributions taking over big iron UNIX on the server room. And now Red-Hat is basically owned by the same vendor as AIX, z/OS and i.
- mmstick76 4y agoAnd now System76 has proven that there is money to made in the Linux desktop if you sell Linux desktops.
- drcongo 4y agoI'd imagine user support has a lot to do with it, if most users stick with the OS you give them, then it makes reasoning about any problems they might have considerably easier.
- CharlesW 4y agoThat's a persuasive argument for creating/maintaining a home-grown distribution, thank you!
- hedora 4y agoThey're selling a product, and want control over its quality. Every few years, a new Linux desktop distro pops up because the old one somehow faceplanted.
- miohtama 4y agoHopefully integration story of other programming languages, like Python and JavaScript, with Iced Rust is nicer than with good old C/C++. This could make it an attractive target in ever shrinking desktop application industry.
- mmstick76 4y agoThere's potential for that but I wouldn't expect it until after 1.0
- pjmlp 4y agoAnother Linux desktop specific distribution, another GUI framework, welcome to the Year of Linux Desktop! /s.
- mmstick76 4y agoLet's be realistic. There's only two GUI frameworks on the Linux desktop right now. GTK4 and KF5/Qt. The GUI libraries in the Rust space have been evolving over the last couple years. Soon you're going to start seeing applications written in Druid, Slint, Iced, Tauri, and Dioxus. Former Qt employees have established a company and business model around Slint. Druid and Iced are making excellent progress. Tauri and Dioxus are alternatives to Electron.
- dtx1 4y agoLooking forward to trying this out. Should also give Iced a boost in popularity. I can't wait for the linux desktop to finally get rid of GTK and QT. Both have served us well but they are a product of a time long gone by.
- Snitch-Thursday 4y agoI agree. Yes, Ubuntu, Fedora, and openSUSE have been the big 3 for a long time, and I doubt they will go away, but Cosmic Desktop is currently the main thing I'm watching for a post-C-dominated-desktop-linux. Ubuntu is trying to go centralized control with Snap. Fedora is like a sibling comment says, doing just enough to coast on a desktop. I'm using openSUSE right now, so can't complain there. The failure to adopt Inferno in its day showed we as an industry got stuck on the unixy API and we've never managed to advance beyond that to this day. Edit: trim rant way down.
- daenney 4y agoIf I understand the current capabilities of Iced correctly, and looking at their road map, there doesn't seem to be any support for assistive technologies. So it looks like whatever System76 ends up developing won't be usable for people with disabilities?
- CameronNemo 4y agoThis was also what I remember to be the most notable shortcoming of iced. Seems like there is a plan to address the issue as part of the larger S76 project. https://news.ycombinator.com/item?id=33068862 https://news.ycombinator.com/item?id=33068862
- bstar77 4y agoMy main issue with PopOS is that it's very problematic to upgrade. The situation that really annoyed me is that their gnome widgets have their own special style classes that are not supported by most universal themes, so the only way to get a good consistent experience is to use their default theme or spend hours tracking down the specific custom styles that need updating. If you decide to go off the rails and replace some or most of the PopOS stuff (which I eventually did), it will work, but probably break on running the next major update. This happened to me twice and ultimately had me move on to other things. If this new approach can solve that problem, then I think PopOS! will be a much more attractive option. I will probably not go back to using PopOS! (using tiling wms now), but I would have no issue recommending it.
- pkulak 4y agoPopOS has a pretty decent tiling plugin, but it really only is decent. You can absolutely tell that it's bolted on. Windows open, then move and resize, etc. I can't move to it from a real tiler just yet. I get the feeling that they have gotten a bit tired of trying to beat Gnome into submission and decided that going their own way will be better for everyone. I think this _is_ one solution to your problem.
- bstar77 4y agoI definitely think they are going in the right direction... it's going to be better for them to have their own thing rather than tacking on a ton of Gnome plugins and calling it "Cosmic".
- brundolf 4y agoSubjectively to me it feels like a distro that's intentionally opinionated, which sounds like the root of most of your problems. If you're wanting to customize a bunch of GUI stuff, why use Pop_OS to begin with?
- mmstick76 4y agoYeah COSMIC will resolve this kind of issue once and for all. The current setup is very dependent on a person not tampering with expected features and packages.
- api 4y agoDoes this or any other newer toolkit have any support for accessibility? I'm guessing the answer is no. This is the hill virtually all new UI toolkits die on.
- eliaspro 4y agoJeremy Soller seems to be committed to providing a11y-support: "Comments like this do not read as genuine concern. It is designed to cast doubt on a project before it is even close to release, and the kinds of people liking this are evidence of it being passive aggressive FUD posing as concern. COSMIC will absolutely support a11y on release!" https://twitter.com/jeremy_soller/status/1576682150836830208 https://twitter.com/jeremy_soller/status/1576682150836830208
- linmob 4y agoI am really happy they are is committed to that, but boy is that tone not called for. Yes, Chris is a GNOME dev, but I've been following him for a long time and so far I never saw him spread FUD.
- mmstick76 4y agoIn regards to System76, he spreads a lot of FUD. Purely because we had some technical disagreements about themes over an anti theme petition and his pet project libadwaita. He's been an ass towards us ever since. Even going so far as collecting a list of grievances out of spite. He's one of the most toxic people you'll find there. Looking forward to his next blog post.
- Yoric 4y agoDoesn't seem to be on the roadmap, as of today.
- mmstick76 4y agoThe maintainer is on vacation and we just started fully committing to it. Check it again in a couple weeks to see how we're doing!
- yewenjie 4y agoI love Iced (I have tried multiple other Rust GUI frameworks) but it is nowhere near production quality - the API changes often and documentation/ guides are almost non-existent. At least this was the case two months ago, not sure if something has changed after that.
- elsjaako 4y agoI would love a good GUI library for rust. Hopefully this will drive some more development to get there with Iced.
- the-printer 4y agoThose buttons are too round, man. Where’s the edge at these days?
- mxuribe 4y ago"Hey, Daddy-oh...Don't be a [square]..." [https://www.youtube.com/watch?v=mi6tQthPDWc&t=10s https://www.youtube.com/watch?v=mi6tQthPDWc&t=10s] lol :-D
- klibertp 4y agoGood. I bought Darter Pro recently and had to - business as usual under Linux - compile this and tweak that. Via things like their keyboard configurator[1] I was exposed to Rust's GTK bindings. It wasn't pretty: the mismatch between the obviously object-oriented GTK and Rust which doesn't do (and doesn't want to) OOP was glaring. I understand the appeal of Rust very well, and I'm happy they write their drivers and (parts of) firmware in it, but it's about as fit for OOP-based GUI as Go and Erlang. Which is to say - not very much. [1] https://github.com/pop-os/keyboard-configurator https://github.com/pop-os/keyboard-configurator
- mrozbarry 4y agoI have tried iced for a few things, and was relatively satisfied. Felt very similar to a web-based react. I'm not a rust developer (but I do have C and other low-ish level experience), so there was a bit of a hurdle, but I was able to make things work. I'm curious how using rust+iced will go for the level of integration in the desktop, and it's at least interesting.
- lewisinc 4y agoI would expect IPC between GUI applications to go the way of iced's Subscriptions + Commands, sending and receiving messages from a central bus or other peripheral components running as daemons. Honestly excited to see what happens here :)
- mmstick76 4y agoSubscriptions are awesome and completely matches up with the way we developed all of our applications and services.
- Mikeb85 4y agoNot sure why System76 is going this route... Everyone is clamouring for a high quality Linux laptop and instead they're using subpar Clevo laptops and creating a new distro (with a bad case of NIH) that no one asked for... The hardware they did make seems nice (desktop case and keyboard), dunno why they aren't parleying that into making their own laptops. Like, why buy their current laptops over a ThinkPad (which you know will be supported by Fedora since that's still what's popular at IBM) or an HP/Dell developer laptop, or any of the other "known to work" laptops?
- pyuser583 4y agoNone of the Linux diaries are “grandma friendly.” Pop OS comes close.
- Mikeb85 4y agoWindows isn't "grandma" friendly based on the amount of times my grandparents called their children (several were in IT for years) and grandchildren for support over the years after breaking things... Literally the only devices they could use without incident were Android and iOS.
- acomjean 4y agoI'm not a grandma, but wanted a linux that would just work pretty well with minimal effort. Pop!OS (despite the strange name) comes pretty close. I did have some trouble upgrading one version of the OS, but did get it with some help from support (I installed a 'non typical' library). Despite me messing about while trying to upgrade the OS never got into an unusable state which is impressive. Generally a pretty good experience. I thought initially why bother with another distro, but it seems to be a good experience for me. The Clevo machines are decent. I appreciate the matt screen and easy open/ replaceable parts (my fan succumbed to dog fur....)
- ladyanita22 4y agoAs close as Ubuntu does.
- 5d8767c68926 4y ago
- forgotpwd16 4y agoIced is like Elm for GUIs, huh. Sounds nice and demos look good. Really looking forward to the final result.
- YmiYugy 4y agoI don't know how much of a rewrite their Cosmic Desktop is meant to be, but Iced isn't ready for anything but small, simple utilities. Known issues include a lack of partial rendering and thus high battery usage, no support for touchpad gestures and a lack of accessibility support. Beyond that you have the rough edges and countless paper cuts that come with an unpolished and unproven toolkit. People really seem to underestimate the amount of work that goes in to creating a "proper" desktop GUI toolkit. You basically need to build a webbrowser minus the JS engine. Even Microsoft has given up and basically uses WebViews wherever possible.
- mmstick76 4y agoThe COSMIC desktop isn't ready for anything either so they're a perfect match made for each other. There's no better time to invest in a new GUI library than doing so as you're already building a new desktop from scratch. Imagine how much money and effort would be wasted if we settled for GTK4 today and then later had to rewrite everything to Iced after someone else did the work for us. System76 would rather push the envelop and resolve this chicken & egg scenario instead of waiting around for consensus. People also underestimate the talent that works at System76 and the amount of work required to bring Iced up to speed. Iced has already proven itself, and its using an architecture (Elm) which has also already proven itself. It's the best way to develop a GUI in Rust, without a doubt. Jeremy has developed an entire desktop OS from scratch, including making a GUI toolkit for it, so it's not like we're oblivious to the effort required. Iced already has a fully functioning layout and rendering system so that webbrowser and JS engine analogy is complete. There's just a handful of features that are missing that are either partially implemented or we've already got 5 developers working on it full time to do the rest.
- black_puppydog 4y agoThis is great news for iced I'd say! Which is nice since it was the top candidate that came up for me when I researched how to GUI on a pinephone in rust. :)
- linmob 4y agoI‘ve heard PinePhone, so I need to a) tell you about one of my little projects, LinuxPhoneApps [1], and b) tell you that it allows to filter by programming language [2]. To date, most Rust apps we list use GTK, three use Kirigami (via Corrosion IIRC), and one uses iced. [1] https://linuxphoneapps.org https://linuxphoneapps.org [2] https://linuxphoneapps.org/programming-languages/rust/ https://linuxphoneapps.org/programming-languages/rust/
- UltraViolence 4y agoI wish someone would port wxWidgets to Rust. IMHO one of the best GUI toolkits out there. Easy to use and performant, works flawlessly on many (desktop) platforms. Even better would be someone updating wxUniversal (the self-drawn version of wxWidgets) and porting it to Rust. This could be useful for a Linux desktop.