9 releases (3 stable)
1.1.1 | Apr 4, 2024 |
---|---|
1.1.0 | Apr 3, 2024 |
1.0.0 | Dec 25, 2022 |
0.2.3 | Sep 18, 2022 |
0.1.1 | Feb 18, 2021 |
#48 in GUI
16,802 downloads per month
Used in 28 crates
(16 directly)
14KB
225 lines
rust-dark-light
Rust crate to detect if dark mode or light mode is enabled. Supports macOS, Windows, Linux, BSDs, and WASM. On Linux and BSDs, first the XDG Desktop Portal dbus API is checked for the color-scheme
preference, which works in Flatpak sandboxes without needing filesystem access. If that does not work, fallback methods are used for KDE, GNOME, Cinnamon, MATE, XFCE, and Unity.
Usage
fn main() {
let mode = dark_light::detect();
match mode {
// Dark mode
dark_light::Mode::Dark => {},
// Light mode
dark_light::Mode::Light => {},
// Unspecified
dark_light::Mode::Default => {},
}
}
Example
cargo run --example detect
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.
Dependencies
~0–13MB
~151K SLoC