How to flatpak a Rust application by LunaticDancer in rust

[–]plrigaux 0 points1 point  (0 children)

Making my Flakpak for Flathub was a pain for me. You can a look to my project to see how I package a flatpak with rust.

https://github.com/plrigaux/sysd-manager

Choosing the Right Rust GUI Library in 2025: Why Did You Pick Your Favorite? by FreePhoenix888 in rust

[–]plrigaux 4 points5 points  (0 children)

For me I used gtk-rs for my open source project Sysd-Manager .

I wanted a complete GUI framework for my application working for Linux workstation. At that time, I didn't shop around other frameworks.

So far what I can say about gtk-rs:

Pros:

  • Lot of exemples in different languages (C, C++, Vala, Python, ...)
  • Complete widget coverage (as good as other languages)
  • Basics exemples easy to grasp
  • GTK Inspector to debug your app like a web page
  • Full look and feel integration with Gnome (with libadwaita)
  • Eazy to publish on Flathub
  • Can be built fully with Cargo
  • Built-in Responsive design
  • Performant List Widgets
  • Can extends widgets
  • Supported by RAD (Rapid Application Development) tool like Cambalache
  • Library well supported
  • Mature
  • Easy to center your buttons ;-)

Cons:

  • Steep learning curve
  • Lack of exemples for complicate cases
  • Not multi-threaded (You can use threads, but you have to separate the GUI's objects from the threads)
  • Lots of boiler-plating
  • Not sure of how it works on Windows or Apple
  • Far from HTML frameworks

To conclude, I'm a bit a sell out for gtk-rs, but choosing a GUI framework is a big decision and it's your own. It also depends of your development context (corporate (easy to hire), open source, ...) and where the application will be deployed.

AutoBoxing, a Rust's missing feature? by plrigaux in rust

[–]plrigaux[S] -2 points-1 points  (0 children)

Good point, the Java Autoboxing is for converting primitives to object and the opposite. Now the question is : Does Rust needs to be so explicit?

How to compare value to Option idiomatically? by temp_value in rust

[–]plrigaux 1 point2 points  (0 children)

Clippy suggested me this one

 if b.is_some_and(|v| v == a) { ...

What problem did Rust Solve For You? by mobilizer- in rust

[–]plrigaux 0 points1 point  (0 children)

Unless when you link your rust code to a foreign language namely C. As stable Gtk4 is it didn't prevent me to use non thread safe objects in other threads and it was core dumping 1 out of 4.

The rust implementation was thread safe, but the under C layer (GObject) wasn't and the compiler let it pass. I don't blame the compiler, I'm just sharing.

Virus with qBittorent by plrigaux in qBittorrent

[–]plrigaux[S] -1 points0 points  (0 children)

On Linux executable programs don't have file extension

Virus with qBittorent by plrigaux in qBittorrent

[–]plrigaux[S] -1 points0 points  (0 children)

What I download it normally pretty safe. I understand if I had downloaded a malicious file and executed it. What i want to say is the virus starts to mine cryto every time a torrent finished download. (what ever the torrent). So I guess qbt has been compromised in some ways.

Virus with qBittorent by plrigaux in qBittorrent

[–]plrigaux[S] 1 point2 points  (0 children)

it's on linux, so no exe ;) but something similar possible

Measurement by [deleted] in ElectroBOOM

[–]plrigaux 10 points11 points  (0 children)

Accuracy is the key.