diff --git a/cosmic-config/src/dbus.rs b/cosmic-config/src/dbus.rs index 9b6e8697..76c03ad5 100644 --- a/cosmic-config/src/dbus.rs +++ b/cosmic-config/src/dbus.rs @@ -67,6 +67,8 @@ struct Wrapper( impl std::hash::Hash for Wrapper { fn hash(&self, state: &mut H) { self.0.hash(state); + self.2.hash(state); + self.3.hash(state); } } diff --git a/src/app/cosmic.rs b/src/app/cosmic.rs index daad0927..ed81d416 100644 --- a/src/app/cosmic.rs +++ b/src/app/cosmic.rs @@ -941,7 +941,7 @@ impl Cosmic { } Action::SystemThemeChange(keys, mut theme) => { - let cur_is_dark = THEME.lock().unwrap().theme_type.is_dark(); + let cur_is_dark = self.app.core().system_theme_mode.is_dark; // Ignore updates if the current theme mode does not match. if cur_is_dark != theme.cosmic().is_dark { return iced::Task::none(); @@ -1026,14 +1026,14 @@ impl Cosmic { } else { iced::window::disable_blur }; - if self.app.core().blur(&cosmic_theme, None) { - cmds.push(blur( - self.app - .core() - .main_window_id() - .unwrap_or(window::Id::RESERVED), - )); - } + + cmds.push(blur( + self.app + .core() + .main_window_id() + .unwrap_or(window::Id::RESERVED), + )); + for (id, wrapper, ..) in &self.surface_views { let overriden = wrapper.2(&self.app); if self.app.core().blur(&cosmic_theme, Some(wrapper.1))