Live data from Hacker News

Exploring System76's New Rust Based Desktop Environment

blog.edfloreshz.dev

231–240 of 408 posts

Re: Exploring System76's New Rust Based Desktop Environment

#231

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.

Depends on what parts of the environment you're looking at. The compositor that's the basis of the entire environment will be written entirely in Rust, based on smithay. But applications written for COSMIC are currently based on GTK4.

GTK is currently the best GUI toolkit for Rust application developers. It's the only toolkit that's fully functional with first class and official bindings. It's been pretty well endorsed by GNOME for most of their new applications lately.

There are some Rust GUI toolkits out there that are shaping up, such as some former Qt developers actively developing sixtyfps, but it'll be a while before we have a GUI toolkit in the Rust space that's truly ready for complex application development.

Re: Exploring System76's New Rust Based Desktop Environment

#232
This looks like an accessibility failure. The contrast of the selected items is way too low, and the dark theme itself is going to cause a lot of issues for those with blurred vision.

It's of course aesthetically pleasing but it's technically very ill suited for actual users aside from those without vision impairments.

Re: Exploring System76's New Rust Based Desktop Environment

#233
post #121

Earlier quoted context omitted.

Selling lots of Linux-based hardware that they design in-house. > Re-implementing Gnome in Rust That seems a bit disingenuous. It's all still GTK.

> lots of Linux-based hardware that they design in-house. Are their Clevo-based laptops designed in-house? If they are, why are they designed with such abysmal speakers, mediocre webcam and no attempt to go past the full-HD screen resolution? Why not design something cool like Framework?

Nope, I don't consider those in-house. They are working on an in-house laptop, and if it ends up anything like their in-house desktops, it could be really nice.

Re: Exploring System76's New Rust Based Desktop Environment

#234

At the risk of sounding too negative/critical, I honestly just don’t like the design language here. Everything seems overly rounded, and more importantly, the screenshots even show very weird/inconsistent alignment and padding in the UI. Why is it that so many Linux GUIs — between apps and desktop environments — suffer from a lack of attention to detail? Once again, it’s early, I’m sure they are aware of some of thes…

Rounded is good so it doesn't poke you in the eyes. There's some strange choices of ligatures in their UI font, though. Or just poor kerning. https://blog.edfloreshz.dev/images/articles/linux/system76/r... I'm not sure why this desktop UI looks like an iPad either.

There is no evidence that round vs square makes any difference in perception of a UI, it's purely a preference.

Re: Exploring System76's New Rust Based Desktop Environment

#235

Great to see! Selfishly, as a MacOS refugee and someone who has an on/off relationship with using desktop Linux as my main (and a desire to use it daily); I would love it if there was a shameless clone of the MacOS DE for Linux. I don't care for customisation, I just want a sensible default that I can get up and running with immediately.

> shameless clone of the MacOS DE for Linux Red Star OS has you covered https://en.wikipedia.org/wiki/Red_Star_OS

Whoa! Everything about this is wild

Re: Exploring System76's New Rust Based Desktop Environment

#236
post #96

Earlier quoted context omitted.

Do you have an example of that friction? Looking through the docs at e.g. https://gtk-rs.org/gtk4-rs/stable/latest/book/hello_world.ht... it doesn't seem that bad but not having used it I would be curious how it works out once you're building a serious app.

Things are already getting quite hairy by page 4[1] of that link. And that example is showing data completely owned by the GObject. If you need to pass a mutable reference to third party data to a GObject it's not going to work in Rust. Imagine a button that you click to change the contents a GtkTreeModel connected to a GtkTreeView--you're going to need to work hard. You're going to write a fair bit Rust specific glu…

You can avoid virtually all friction by sidestepping shared mutable references altogether and writing your GTK application in a more idomatic Rust way. For example, instead of passing shared references of application state to every widget signal, you can pass async Rust channels to signals. You can spawn a single async event loop attached to GLib's main context that listens for events sent from those signals, and manage all your widgets and application state in one place.

There's some libraries that effectively automate GTK in this way, such as relm4.

Re: Exploring System76's New Rust Based Desktop Environment

#237

"...we’re all curious as to how this desktop will look like..." Is this an Americanism? My brain can't read this properly.

The "like" here is strange, and I'd argue erroneous; remove it.

Then the "as to", while correct, isn't an obvious construction. It's often paired with "curious" to help transition the sentence a bit, but it's wordy and unnecessary here. For the sake of reading, ignore it.

Then it becomes:

> we're all curious how this desktop will look

The original text is probably written by someone who doesn't do a lot of writing, as it reads how someone might talk. I'm no expert by any means but I'm moderately aware of my own struggle with this exact problem, enough to see it in others' writing.

Re: Exploring System76's New Rust Based Desktop Environment

#238
post #158

Earlier quoted context omitted.

> I know that open source and Linux in general don't need/want another DE Unpopular opinion, but more DEs is fine and good, especially if they will have teams that are either (a) large or (b) well-funded. Plasma and GNOME are very good, and Unity was actually great to use in its heyday. Imo what we don't really need more of are the conservative, under-resourced 'classic look and feel' DEs like most of the minor playe…

A DE is pointless without the apps that run on Linux. And that's the problem with the proliferation of DEs. Applications, which range from having no developers actively working on them, to the best teams at Microsoft working on them, have to handle yet another DE, and have to deal with the bugs raised by the users of yet another DE, etc. UI/UX is hard enough to begin with, but requiring devs to either maintain severa…

> UI/UX is hard enough to begin with, but requiring devs to either maintain several UI/UXs, or try and come up with a design that works across the proliferation of DEs is highly counterproductive.

Very few developers actually attempt to do this, on any platform— virtually none, as far as I can tell. It's slightly more common on macOS for developers to actually try to emulate or reuse the design language and look-and-feel of the base system. But on every platform, it's extremely common for GUI apps to just throw the design language and other details of platforms they run on completely out the window. It's the M.O. for the most popular cross-platform toolkit right now (Electron). For every app that maintains multiple UIs, there are at least ten that do that, maybe a hundred!

Besides, COSMIC doesn't use a new graphical toolkit. It uses GTK+, just like GNOME.

Re: Exploring System76's New Rust Based Desktop Environment

#239

Earlier quoted context omitted.

> But I'm always skeptical when underlying language choice is featured prominently as a selling point for any new project. > It tells me, this is a technology-first, users-second enthusiast project. > And thus, I'll be surprised if it tackles the deepest issues users need solved. Some of the deepest issues that users need solved are ones that Rust was designed to solve at the language and compiler level. 1. System st…

> It's like buying a Toyota, you know from the brand alone that you're getting a certain baseline level of reliability, maintainability, durability, and longevity. Rust is like the Toyota of programming languages - it can produce many different types of cars/programs, but they're all guaranteed to come with a baseline level of assurance, and to eliminate common classes of problems that degrade the end-user experience…

> It's possible to make buggy, slow, crappy software in any language.

Technically it's possible, but you have to try a lot harder to do it in Rust than most other systems languages.

Re: Exploring System76's New Rust Based Desktop Environment

#240

Earlier quoted context omitted.

That Chrome bug seems frustrating... have you tried changing chrome to use Wayland instead of XWayland? Go to chrome://flags and change Preferred Ozone platform from X11 to Wayland.

Thanks, yes I actually raised a bug with the issue Chromium issue tracker. I have set Wayland as the default and the resizing issues have settled. There currently isn't a fix for the scroll being slower than other system windows and there also isn't a fix for issues with dragging tabs. Middle click doesn't work but I think that's system wide

> Middle click doesn't work but I think that's system wide

At all? Applications don't receive middle click events?

Post reply on HN