rusty_themy

Crates.iorusty_themy
lib.rsrusty_themy
version0.1.0
sourcesrc
created_at2023-03-07 18:15:11.248685
updated_at2023-03-07 18:15:11.248685
description🦀🦀 Obtain the current color theme in your system! 🎨🎨
homepage
repositoryhttps://github.com/natalia-asteria/rusty_themy
max_upload_size
id803810
size69,270
Asteria (togetherwithasteria)

documentation

README

🦀🦀 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.

Commit count: 11

cargo fmt