Crate rusty_themy

source Β·
Expand description

πŸ¦€πŸ¦€ 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

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

Modules

  • This is the GNOME support part of Rusty Themy It should be available in most Linux systems. Parsing features are available in all platforms but getting the current color themes are only available in Freedesktop-based systems (those based on Fedora, Arch, Ubuntu, etc).