Build truly native applications with ease!
An idiomatic GUI library inspired by Elm and based on gtk4-rs. Relm4 is a new version of relm that's built from scratch and is compatible with GTK4 and libadwaita.
We believe that GUI development should be easy, productive and delightful. The gtk4-rs crate already provides everything you need to write modern, beautiful and cross-platform applications. Built on top of this foundation, Relm4 makes developing more idiomatic, simpler and faster and enables you to become productive in just a few hours.
Relm4 depends on GTK4: How to install GTK4 and Rust
Use this in to your Cargo.toml:
# Core library
relm4 = "0.10"
# Optional: reusable components
relm4-components = "0.10"
# Optional: icons (more info at https://github.com/Relm4/icons)
relm4-icons = "0.10"The relm4 crate has four feature flags:
| Flag | Purpose | Default |
|---|---|---|
macros |
Enable macros by re-exporting relm4-macros |
✅ |
libadwaita |
Improved support for libadwaita | - |
libpanel |
Improved support for libpanel | - |
gnome_50 |
Enable all version feature flags of all dependencies to match the GNOME 50 SDK | - |
gnome_49 |
Enable all version feature flags of all dependencies to match the GNOME 49 SDK | - |
gnome_48 |
Enable all version feature flags of all dependencies to match the GNOME 48 SDK | - |
gnome_47 |
Enable all version feature flags of all dependencies to match the GNOME 47 SDK | - |
gnome_46 |
Enable all version feature flags of all dependencies to match the GNOME 46 SDK | - |
gnome_45 |
Enable all version feature flags of all dependencies to match the GNOME 45 SDK | - |
gnome_44 |
Enable all version feature flags of all dependencies to match the GNOME 44 SDK | - |
gnome_43 |
Enable all version feature flags of all dependencies to match the GNOME 43 SDK | - |
gnome_42 |
Enable all version feature flags of all dependencies to match the GNOME 42 SDK | ✅ |
The macros feature is a default feature.
Several example applications are available at examples/.
…Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Feedback and contributions are highly appreciated!
No open issues yet, or sync has not completed.