diff --git a/src/window/settings.rs b/src/window/settings.rs index 7bc49ce1..6b5d2985 100644 --- a/src/window/settings.rs +++ b/src/window/settings.rs @@ -18,9 +18,12 @@ pub struct Settings { /// Whether the window should have a border, a title bar, etc. or not. pub decorations: bool, - /// Whether the window should be transparent + /// Whether the window should be transparent. pub transparent: bool, + /// Whether the window will always be on top of other windows. + pub always_on_top: bool, + /// The icon of the window. pub icon: Option, } @@ -34,6 +37,7 @@ impl Default for Settings { resizable: true, decorations: true, transparent: false, + always_on_top: false, icon: None, } } @@ -49,6 +53,7 @@ impl From for iced_winit::settings::Window { resizable: settings.resizable, decorations: settings.decorations, transparent: settings.transparent, + always_on_top: settings.always_on_top, icon: settings.icon.map(Icon::into), platform_specific: Default::default(), } diff --git a/winit/src/settings.rs b/winit/src/settings.rs index 92541e7d..e0d2c569 100644 --- a/winit/src/settings.rs +++ b/winit/src/settings.rs @@ -45,9 +45,12 @@ pub struct Window { /// Whether the window should have a border, a title bar, etc. pub decorations: bool, - /// Whether the window should be transparent + /// Whether the window should be transparent. pub transparent: bool, + /// Whether the window will always be on top of other windows. + pub always_on_top: bool, + /// The window icon, which is also usually used in the taskbar pub icon: Option, @@ -74,6 +77,7 @@ impl Window { .with_decorations(self.decorations) .with_transparent(self.transparent) .with_window_icon(self.icon) + .with_always_on_top(self.always_on_top) .with_fullscreen(conversion::fullscreen(primary_monitor, mode)); if let Some((width, height)) = self.min_size { @@ -108,6 +112,7 @@ impl Default for Window { resizable: true, decorations: true, transparent: false, + always_on_top: false, icon: None, platform_specific: Default::default(), }