diff --git a/src/freedesktop.rs b/src/freedesktop.rs index cd46752..68ff269 100644 --- a/src/freedesktop.rs +++ b/src/freedesktop.rs @@ -90,7 +90,7 @@ pub fn detect() -> Mode { DesktopEnvironment::Gnome => detect_gtk("/org/gnome/desktop/interface/gtk-theme"), DesktopEnvironment::Mate => detect_gtk("/org/mate/desktop/interface/gtk-theme"), DesktopEnvironment::Unity => detect_gtk("/org/gnome/desktop/interface/gtk-theme"), - _ => Mode::Light, + _ => Mode::Default, }, } } diff --git a/src/lib.rs b/src/lib.rs index ddecc57..34ed6c5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -8,6 +8,7 @@ //! match mode { //! dark_light::Mode::Dark => {}, //! dark_light::Mode::Light => {}, +//! dark_light::Mode::Default => {}, //! } //! ``` @@ -63,6 +64,7 @@ mod platform { pub enum Mode { Dark, Light, + Default, } impl Mode { diff --git a/src/windows.rs b/src/windows.rs index 98398b9..725da61 100644 --- a/src/windows.rs +++ b/src/windows.rs @@ -1,17 +1,15 @@ use crate::Mode; use winreg::RegKey; +const SUBKEY: &str = "Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; +const VALUE: &str = "AppsUseLightTheme"; + pub fn detect() -> Mode { let hkcu = RegKey::predef(winreg::enums::HKEY_CURRENT_USER); - if let Ok(subkey) = - hkcu.open_subkey("Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize") - { - if let Ok(dword) = subkey.get_value::("AppsUseLightTheme") { - Mode::from(dword == 0) - } else { - Mode::Light + if let Ok(subkey) = hkcu.open_subkey(SUBKEY) { + if let Ok(dword) = subkey.get_value::(VALUE) { + return Mode::from(dword == 0); } - } else { - Mode::Light } + Mode::Light }