Originally posted by Alliancemd
View Post
Announcement
Collapse
No announcement yet.
System76's Pop!_OS COSMIC Desktop To Make Use Of Iced Rust Toolkit Rather Than GTK
Collapse
X
-
Originally posted by DMJC View Post
Are you high? Unity winning the hearts and minds of users? LOL!!! Hell no. Not even close. Gnome 2.0 was the only GTK based desktop that a clear majority liked/used. As soon as Gnome 3.0 and Canonical moved away from the classical Gnome 2.0/Start Menu paradigm, the users abandoned it and forked gnome to make Mate / Cinnamon (a ton moved to XFCE4 until Mate / Cinnamon got up) etc. The biggest leap backwards Linux ever made as a desktop platform was in adopting a tablet PC interface. It crippled the desktops for years as no one knew what to make or how to make it. How to make it effective/integrated (not to mention support multi-monitor like anyone who cared about productivity was using it). And the worst thing of all: How to make it without screwing up the workflow of users who had happily adopted/worked with Gnome 2.0 for years.
Ubuntu started out using Gnome 2, and so over time the userbase 1) was selected for people who liked Gnome 2, and 2) built workflows around Gnome 2. When the Unity change came down, those users either had to leave or re-learn workflows.
When the Gnome 3 change came down, the new users from the Unity years were selected for people who liked Unity, and all the Gnome 2 initiates who stuck around had adapted to Unity. These people either had to leave or re-learn workflows.
When the Gnome 40 change came down, ditto!
Whenever you change the UI, you are forcing people to leave or re-learn workflows, or if you are KDE, the burden is on the developers instead of the users. No matter what, change is very expensive and that cost must be balanced by a large expectation of better UI efficiency.
- Likes 2
Comment
-
Originally posted by ClosedSource View Post
First of all, I am a maintainer for multiple stacks at a local university distribution.
Secondly, they don't rebuild single packages when gtk3 gets bug fixes because the applications which just use the updated shared library. Your framework may be tiny but the app code won't. Imagine rewriting evolution-data-server or gstreamer or ffmpeg as rust crates and expecting everything to embed them. You don't make much sense here. Rust is not the correct tool for this.
Second, "we don't rebuild single packages for GTK3 fix releases" is a descriptive statement. There is nothing normative here. You know what packages use something that has updated, and if you truly believe that these updated dependencies don't cause regressions, it's your prerogative as a maintainer to rebuild the batch: but also the maintainers of the dependent packages can publish the desired dependency spec with their crate, and that should indicate that they've validated their package with that dependency version.Last edited by microcode; 03 October 2022, 08:31 AM.
- Likes 1
Comment
-
Originally posted by ClosedSource View Post
First of all, I am a maintainer for multiple stacks at a local university distribution.
Secondly, they don't rebuild single packages when gtk3 gets bug fixes because the applications which just use the updated shared library. Your framework may be tiny but the app code won't. Imagine rewriting evolution-data-server or gstreamer or ffmpeg as rust crates and expecting everything to embed them. You don't make much sense here. Rust is not the correct tool for this.Last edited by mmstick; 03 October 2022, 08:41 AM.
- Likes 1
Comment
-
Originally posted by Artim View Post
Besides the fact that it throws completely uninformative errors that make it impossible to help novice users (other than use apt and tell us what it says), like I said it falling apart left and right with graphics glitches hiding important details or making the drop-down for selecting deb or Flatpak unusable, or just plain refusing to install/update (only showing an animation but not actually doing anything). Also it doesn't seem to handle multi user environments that well, I have yet to find a way to completely disable update notifications system wide.
But to see the problems you literally just have to look through the Pop OS Reddit. Pretty much not a single day goes by without someone needing help with the Pop Shop because it's either throwing unhelpful errors or just not doing what it's supposed to. Sure, I'm not using that thing anymore, apt is way more reliable. But you shouldn't need to tell novice users to do so. A well working software shop should be one of the highest priorities for a Distro catering to absolute beginners, first impression is key. If you can't even deliver that, you shouldn't be taking about reinventing the wheel, just because.
Besides the fact that support for Pop could be improved a lot. If you got problems that are less common, just nobody gives a rats ass. Not on Reddit and not on their own git. And yes, I am talking from experience.
- Likes 1
Comment
-
Originally posted by mmstick View Post
You claim that no one cares and yet here I am fixing issues in Pop Shop and submitting a patch upstream. If you have issues then you should report them upstream. The error dialog details the error(s) given by apt. it doesn't get informative then that. Most of the community support requests are from people having issues with PPAs. The most recent support request in the Pop subreddit is about PPAs that aren't supported on Ubuntu 22.04. And as always, I recommend enabling automatic system updates from the OS Upgrade panel in Settings. Set your desired schedule for updates and it will automatically update Flatpaks, Debian packages, etc. Along with automatically repairing any potential packaging issues and removing unused Flatpak runtimes.
Comment
-
Originally posted by Artim View Post
So I'm only imagining all those screenshots like this one with questionably helpful error messages where the solution you yourself posted is the typical Microsoft way of pretty much reinstalling your whole system instead of even trying to fix things in a much less intrusive way.Last edited by mmstick; 03 October 2022, 10:57 AM.
- Likes 3
Comment
-
Originally posted by mmstick View Post
That is entirely unrelated to the Pop Shop. That screenshot is from the OS Upgrade panel in GNOME Settings. This is a system on a release that Ubuntu has marked End of Life and its repositories taken offline. It is no longer supported. There is an upgrade window that everyone on the non-LTS release has to use before the time is up. If you miss the deadline then the easiest way to upgrade is installing a new image. This has nothing to do with Microsoft and is a common practice on Linux to reinstall the system if you break it or are on a very old unsupported point release. Furthermore, you're just proving that I listen to people's support requests and provide support in the subreddit. So much for that "not caring" spiel. I'm not going to continue arguing with someone that clearly has an agenda and is grasping at straws.
Comment
-
Originally posted by mmstick View PostYou can create dynamic libraries in Rust
FYI, I'm a developer too. I write desktop applications using Qt, Android applications, Linux system services using C, and web backend services using nodejs and dotnet.
Comment
-
Originally posted by ClosedSource View PostHow does that work exactly? You generate C style header files and an implementation shared library, then rust has some mechanism to bind to C code?
FYI, I'm a developer too. I write desktop applications using Qt, Android applications, Linux system services using C, and web backend services using nodejs and dotnet.
- CGlue, a high level framework for Rust-to-C that can carry data as trait objects: https://docs.rs/cglue/latest/cglue/
- Rust-to-Rust compatibility with abi_stable: https://docs.rs/abi_stable/latest/abi_stable/
- Rust-to-C++ and C++-to-Rust with Google's CXX project: https://cxx.rs/
- Rust-to-C binding generator cbindgen: https://github.com/eqrion/cbindgen
Additionally, see the FFI section of the Rustonomicon: https://doc.rust-lang.org/nomicon/ff...st-code-from-c
The Nala team is creating libapt bindings for Rust using CXX with great success. I have used cbindgen for small libraries with basic requirements. CGlue is a must if you want to pass and use more complex Rust types based on traits safely across FFI boundaries. CGlue is possible to use safely with Rust libraries built from a different version of the compiler thanks to abi_stable. abi_stable essentially defines some standard abstractions for distilling Rust into a C API that the consumer can reconstruct back to Rust.
- Likes 1
Comment
Comment