diff options
-rw-r--r-- | native/src/window/action.rs | 10 | ||||
-rw-r--r-- | winit/src/application.rs | 3 |
2 files changed, 13 insertions, 0 deletions
diff --git a/native/src/window/action.rs b/native/src/window/action.rs index 168974bc..b16b7243 100644 --- a/native/src/window/action.rs +++ b/native/src/window/action.rs @@ -70,6 +70,12 @@ pub enum Action<T> { /// /// - **Web / Wayland:** Unsupported. GainFocus, + /// Change whether or not the window will always be on top of other windows. + /// + /// ## Platform-specific + /// + /// - **iOS / Android / Web / Wayland:** Unsupported. + AlwaysOnTop(bool), } impl<T> Action<T> { @@ -96,6 +102,7 @@ impl<T> Action<T> { Action::RequestUserAttention(attention_type) } Self::GainFocus => Action::GainFocus, + Self::AlwaysOnTop(bool) => Action::AlwaysOnTop(bool), } } } @@ -122,6 +129,9 @@ impl<T> fmt::Debug for Action<T> { write!(f, "Action::RequestUserAttention") } Self::GainFocus => write!(f, "Action::GainFocus"), + Self::AlwaysOnTop(value) => { + write!(f, "Action::AlwaysOnTop({})", value) + } } } } diff --git a/winit/src/application.rs b/winit/src/application.rs index 769fe9dd..fda559d0 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -788,6 +788,9 @@ pub fn run_command<A, E>( user_attention.map(conversion::user_attention), ), window::Action::GainFocus => window.focus_window(), + window::Action::AlwaysOnTop(value) => { + window.set_always_on_top(value) + } }, command::Action::System(action) => match action { system::Action::QueryInformation(_tag) => { |