diff --git a/src/applet/mod.rs b/src/applet/mod.rs index 5562b14a..1f0ab451 100644 --- a/src/applet/mod.rs +++ b/src/applet/mod.rs @@ -81,20 +81,26 @@ impl CosmicAppletHelper { #[must_use] pub fn window_settings(&self) -> Settings { - let mut settings = crate::settings(); + self.window_settings_with_flags(F::default()) + } + + #[must_use] + pub fn window_settings_with_flags(&self, flags: F) -> Settings { let (width, height) = self.suggested_size(); let width = u32::from(width); let height = u32::from(height); - settings.initial_surface = InitialSurface::XdgWindow(SctkWindowSettings { - iced_settings: iced_native::window::Settings { - size: (width + APPLET_PADDING * 2, height + APPLET_PADDING * 2), - min_size: Some((width + APPLET_PADDING * 2, height + APPLET_PADDING * 2)), - max_size: Some((width + APPLET_PADDING * 2, height + APPLET_PADDING * 2)), + Settings { + initial_surface: InitialSurface::XdgWindow(SctkWindowSettings { + iced_settings: iced_native::window::Settings { + size: (width + APPLET_PADDING * 2, height + APPLET_PADDING * 2), + min_size: Some((width + APPLET_PADDING * 2, height + APPLET_PADDING * 2)), + max_size: Some((width + APPLET_PADDING * 2, height + APPLET_PADDING * 2)), + ..Default::default() + }, ..Default::default() - }, - ..Default::default() - }); - settings + }), + ..crate::settings_with_flags(flags) + } } #[must_use] diff --git a/src/lib.rs b/src/lib.rs index fe232eaf..aa49e9d2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -24,7 +24,7 @@ pub mod widget; pub use executor::single::Executor as SingleThreadExecutor; pub mod settings; -pub use settings::settings; +pub use settings::{settings, settings_with_flags}; mod ext; pub use ext::ElementExt; diff --git a/src/settings.rs b/src/settings.rs index b33c517d..7fb35a2f 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -20,12 +20,18 @@ pub fn set_default_icon_theme(name: impl Into) { /// Default iced settings for COSMIC applications. #[must_use] pub fn settings() -> iced::Settings { + settings_with_flags(Flags::default()) +} + +/// Default iced settings for COSMIC applications. +#[must_use] +pub fn settings_with_flags(flags: Flags) -> iced::Settings { iced::Settings { default_font: match font::FONT { iced::Font::Default => None, iced::Font::External { bytes, .. } => Some(bytes), }, default_text_size: 18, - ..iced::Settings::default() + ..iced::Settings::with_flags(flags) } }