#gtk #theming #ui

rusty_themy

🦀🦀 Obtain the current color theme in your system! 🎨🎨

1 unstable release

0.1.0 Mar 7, 2023

#536 in GUI

MIT/Apache

21KB
265 lines

🦀🦀 Rusty Themy 🎨🎨

Obtain the current color theme in your system!

$ cargo add rusty_themy

Getting the current theme on Linux

It's easy! Just enable the gtk feature and use

rusty_themy::gtk::current::current()

You can see the example here!

cargo run --example current_theme --features gtk

The output will be a JSON dump of the colors that I hope, get applied by GTK for its applications.

(
    {
        ...
        "dialog_bg_color": RGBA(
            RGBA {
                red: 247,
                green: 219,
                blue: 239,
                alpha: 255,
            },
        ),
        "light_4": RGBA(
            RGBA {
                red: 192,
                green: 191,
                blue: 188,
                alpha: 255,
            },
        ),
        "red_4": RGBA(
            RGBA {
                red: 192,
                green: 28,
                blue: 40,
                alpha: 255,
            },
        ),
        ...
    },
    [ /* any errors go here */ ],
)

Custom colors that are defined by you will also be included! Not just the ones from GTK or Libadwaita.

Are you confused on what color to consume? Good place to start would be to visit the Libadwaita docs on Named Colors or play with the Gradience app!

Getting color themes on other platforms

Unfortunately, they are not supported yet.
But... feel free to make a PR!

📜 License

Licensed under either of

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.

Dependencies

~0–14MB
~157K SLoC