Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
An idiomatic GUI library inspired by Elm and based on gtk3-rs.
NeoRelm is a GTK3 port of Relm4 (the original Relm4 targets GTK4 and libadwaita, while this project backports the same API and design to GTK3). Why? Because gnome keeps deprecating everything in gtk4. Making apps with gtk4 without libadwaita might not be easy in future. And because I wanted to make apps for XFCE.
Documentation
- 📜 Rust documentation
- 🌐 The repository — including examples and the changelog
Dependencies
NeoRelm depends on GTK3
Ecosystem
- nrelm-macros - several macros for declarative UI definitions.
- nrelm-components - a collection of reusable components.
- nrelm-icons - icons for your application (maintained in its own repository).
Use this in your Cargo.toml:
# Core library
= "0.1"
# Optional: reusable components
= "0.1"
# Optional: icons (more info at https://gitlab.com/NeoRelm/NeoRelm-icons)
= "0.1"
Features
The nrelm crate has two feature flags:
| Flag | Purpose | Default |
|---|---|---|
macros |
Enable macros by re-exporting nrelm-macros |
✅ |
css |
Enable the built-in CSS definitions of nrelm-css |
✅ |
Examples
Several example applications are available at examples/.
📸 Screenshots from the example apps
A simple counter app

use *;
use *;
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
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!