From d1d13f6f160af73e549e2c2dd8a9d7991f10f1f6 Mon Sep 17 00:00:00 2001 From: Night_Hunter Date: Sat, 10 Dec 2022 01:42:51 +1300 Subject: add always on top action --- native/src/window/action.rs | 10 ++++++++++ winit/src/application.rs | 3 +++ 2 files changed, 13 insertions(+) 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 { /// /// - **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 Action { @@ -96,6 +102,7 @@ impl Action { Action::RequestUserAttention(attention_type) } Self::GainFocus => Action::GainFocus, + Self::AlwaysOnTop(bool) => Action::AlwaysOnTop(bool), } } } @@ -122,6 +129,9 @@ impl fmt::Debug for Action { 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( 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) => { -- cgit