Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use pure Rust GUI library? #104

Closed
eszlari opened this issue Feb 25, 2023 · 1 comment
Closed

Use pure Rust GUI library? #104

eszlari opened this issue Feb 25, 2023 · 1 comment

Comments

@eszlari
Copy link

eszlari commented Feb 25, 2023

Has it been considered to move to a pure Rust GUI library to simplify the deployment process?

One candidate could be iced-rs: https://github.com/iced-rs/iced (which seems to get some investment: https://www.phoronix.com/news/COSMIC-Desktop-Iced-Toolkit).

@ilya-zlobintsev
Copy link
Owner

Yes, I have looked into them, with iced and slint being the main candidates. However there are several problems with them:

  • None of the toolkits are nearly as mature as GTK and have missing major features. For example iced doesn't have multi-window support: Multi-window support iced-rs/iced#27
  • They aren't well integrated with the system (except for slint which can use QT styling)

There is a new Rust toolkit being created every once in a while, but none of them have reached any widespread adoption.

GTK is one of the two de-facto "native" Linux graphical toolkits (with QT being the other one), looks consistent with other applications in the system and has widgets which users are familiar with. The gtk-rs bindings are also pretty good, which is why GTK was used instead of QT.

IMO the advantage of easier packaging (not depending on the system installation of GTK) does not outweigh the listed disadvantages. The situation would be different if this was a cross-platform app, but as it's Linux-only I really don't think using a Rust toolkit is worth it with the current state of things.

@ilya-zlobintsev ilya-zlobintsev closed this as not planned Won't fix, can't repro, duplicate, stale Feb 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants