Your friendly neighbourhood whale crate for reading various system-level
accessibility and UI preferences across platforms ๐
The following preferences are supported:
AccentColor
โThe user's current system wide accent color preference.ColorScheme
โThe user's preference for either light or dark mode.Contrast
โThe user's preferred contrast level.ReducedMotion
โThe user's reduced motion preference.ReducedTransparency
โThe user's reduced transparency preference.DoubleClickInterval
โThe maximum amount of time allowed between the first and second click.
use mundy::{Preferences, Interest};
use futures_lite::StreamExt as _;
// Interest tells mundy which preferences it should monitor for you.
// use `Interest::All` if you're interested in all preferences.
let mut stream = Preferences::stream(Interest::AccentColor);
async {
while let Some(preferences) = stream.next().await {
eprintln!("accent color: {:?}", preferences.accent_color);
}
};
Licensed under the Apache License, Version 2.0 (license.txt or http://www.apache.org/licenses/LICENSE-2.0)
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 licensed as above, without any additional terms or conditions.