summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--native/src/window/action.rs10
-rw-r--r--winit/src/application.rs3
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) => {