Live data from Hacker News

Exploring System76's New Rust Based Desktop Environment

blog.edfloreshz.dev

81–90 of 408 posts

Re: Exploring System76's New Rust Based Desktop Environment

#81

System76 should build a Rust GUI framework. I can't think of many other companies that are better positioned than them.

Doesn't seem like there'd be any good reason to do it. Gtk4 has great low and high level bindings in the form of gtk-rs and relm.

Writing GTK4 apps sucks, at least in Rust. They removed so many idiomatic ways to build apps, and all you're left with is a shitty component system that forces you to write incomprehensible UI layout code instead of leaving it to JSON/XML languages that are much better suited to the process. In any case, gtk-rs's bindings after 9.0.0 are hardly usable, and require me to re-write entire apps just to get them to launch in the new and "improved" GTK4 wrapper, now with incredibly blurry text, compositor issues and broken stylesheets... sigh.

I, for one, would love to see someone fork GTK3 for desktop purposes. GTK4's development has almost entirely been predicated by the GNOME team (despite how hard they deny it), and additions like libadwaita has made GTK unusable for many. After Pop_OS! was publically harassed by the GNOME team, I kinda expected them to take that project up. I can settle for a desktop fork all the same though.

Re: Exploring System76's New Rust Based Desktop Environment

#82

Earlier quoted context omitted.

GTK is just a library, you can use it from any language it has bindings for.

Understood. I have made significant contributions to GTK. My contributions possibly had memory leaks or memory corruption issues that will bring down the higher Rust layer. I am trying to understand the purpose of the Rust layer. It is fine with me if it is because Rust is interesting, but what is being presented doesn’t seem like a Rust desktop environment _to me_.

It's not 100% Rust but I think you would expect that GTK itself is fairly well tested - probably much better tested than any new app you write that uses it, so it is still worth it to write that app in Rust.

And it has to be said that memory safety isn't Rust's only compelling feature. It also has a pretty great build system, a decent library ecosystem, a very strong type system which gives you an "if it compiles it works" experience surprisingly often, probably the best multithreading system, etc. etc.

Re: Exploring System76's New Rust Based Desktop Environment

#84
post #37

Earlier quoted context omitted.

Also GTK4 means they are still at the mercy of GNOME which changes APIs often and without consideration for third parties. Wasn't the whole point of the project to emancipate themselves from GNOME? If they rely on GTK they will fail.

With the transition from version 3 to 4, GTK is now more focused on being a generic UI toolkit, with GTK4-based libadwaita now being the place to be for GNOME-specific patterns.

History and experience tells a different story [1]. Never trust a library that is maintained by GNOME.

1.: https://github.com/thestinger/termite

Re: Exploring System76's New Rust Based Desktop Environment

#85

Original Nautilus and early GNOME developer here. I am very out of touch with what is current, so excuse some possibly ignorant questions. How is this a Rust-based environment if it is based on GTK? I assume GTK is still essentially the C-based GTK we used with some improvements. Why is this called Rust-based? I’ll do some more research but would like to get some insight from more knowledgeable sources.

GTK is just a library, you can use it from any language it has bindings for.

The issue is that Rust is extremely opinionated at to how code should be structured and there is going to be considerable interface friction with a system that is built around aliasing data every time there is a callback.

Re: Exploring System76's New Rust Based Desktop Environment

#86
post #33

I honestly don't quite understand what System76s intentions with COSMIC are. To me it feels like a regression from the previous gnome and i've kicked their plugins to get a regular gnome back. It just... Doesn't do anything my custom openbox or i3 setups in the past didn't do (imo better). Nor is it better at being gnome than gnome. And now that i'm getting old and gotten used to stock gnome it just seems like it mak…

Do you really not understand that most people don’t want to use custom i3 configs?

Re: Exploring System76's New Rust Based Desktop Environment

#87
post #37

Earlier quoted context omitted.

Also GTK4 means they are still at the mercy of GNOME which changes APIs often and without consideration for third parties. Wasn't the whole point of the project to emancipate themselves from GNOME? If they rely on GTK they will fail.

Then they would need to either 1) do the yak-shaving and create a whole new GUI stack in Rust (which would be an absolute boon to the Rust community but will be a tremendous effort), or 2) switch to Qt (and basically become KDE) Thinking about it, maybe Sciter ( https://sciter.com/ ) would be an okay foundation to build a DE in (lightweight stack, flexible theming, solid Rust bindings). But then it isn’t open source…

Regarding 2, aren’t they basically gnome if they are using gtk, as per your logic?

Re: Exploring System76's New Rust Based Desktop Environment

#90
post #46

i always disliked gnome 3 because of the user interface (it seemed to be an amalgamation of all the bad things from os x or even macos), not because of the underlying language it's coded in.

Canonical was really onto something very good with Unity, but Gnome3 is a UX disaster. Every single app from Nautilus to Gedit became harder to use. And it has lots of empty bars wasting space everywhere.
Post reply on HN