15 releases
| 0.2.3 | Apr 30, 2026 |
|---|---|
| 0.2.2 | Nov 25, 2025 |
| 0.2.1 | Oct 19, 2025 |
| 0.1.10 | Jul 16, 2025 |
| 0.1.3 | Nov 30, 2024 |
#104 in GUI
90,853 downloads per month
Used in 47 crates
(10 directly)
165KB
3.5K
SLoC
mundy 🐋
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.ScrollbarVisibility—Whether the scrollbar should be always visible or auto-hide.
Example
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);
}
};
Docs
Examples
License
Licensed under the Apache License, Version 2.0 (license.txt or http://www.apache.org/licenses/LICENSE-2.0)
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 licensed as above, without any additional terms or conditions.
Dependencies
~0.2–41MB
~691K SLoC