From 750fecd6bca293fa891fbdfbf6c7052c49e3fd12 Mon Sep 17 00:00:00 2001 From: Night_Hunter Date: Sat, 10 Dec 2022 01:40:53 +1300 Subject: [PATCH 1/2] add toggle decorations action --- native/src/window/action.rs | 7 +++++++ winit/src/application.rs | 3 +++ 2 files changed, 10 insertions(+) diff --git a/native/src/window/action.rs b/native/src/window/action.rs index 009dcc274d..f731be1961 100644 --- a/native/src/window/action.rs +++ b/native/src/window/action.rs @@ -35,6 +35,11 @@ pub enum Action { SetMode(Mode), /// Sets the window to maximized or back ToggleMaximize, + /// Toggles whether window has decorations + /// ## Platform-specific + /// - **X11:** Not implemented. + /// - **iOS / Android / Web:** Unsupported. + ToggleDecorations, /// Fetch the current [`Mode`] of the window. FetchMode(Box T + 'static>), } @@ -56,6 +61,7 @@ impl Action { Self::Move { x, y } => Action::Move { x, y }, Self::SetMode(mode) => Action::SetMode(mode), Self::ToggleMaximize => Action::ToggleMaximize, + Self::ToggleDecorations => Action::ToggleDecorations, Self::FetchMode(o) => Action::FetchMode(Box::new(move |s| f(o(s)))), } } @@ -77,6 +83,7 @@ impl fmt::Debug for Action { } Self::SetMode(mode) => write!(f, "Action::SetMode({:?})", mode), Self::ToggleMaximize => write!(f, "Action::ToggleMaximize"), + Self::ToggleDecorations => write!(f, "Action::ToggleDecorations"), Self::FetchMode(_) => write!(f, "Action::FetchMode"), } } diff --git a/winit/src/application.rs b/winit/src/application.rs index 1706d2e9a2..d17db2cdc9 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -660,6 +660,9 @@ pub fn run_command( window::Action::ToggleMaximize => { window.set_maximized(!window.is_maximized()) } + window::Action::ToggleDecorations => { + window.set_decorations(!window.is_decorated()) + } window::Action::FetchMode(tag) => { let mode = if window.is_visible().unwrap_or(true) { conversion::mode(window.fullscreen()) From cfcf2017e551beee8503081a48a9c0ce3905a443 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n?= Date: Tue, 13 Dec 2022 00:13:01 +0100 Subject: [PATCH 2/2] Remove mention of iOS and Android in `window::action` --- native/src/window/action.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/native/src/window/action.rs b/native/src/window/action.rs index f731be1961..283775ba05 100644 --- a/native/src/window/action.rs +++ b/native/src/window/action.rs @@ -38,7 +38,7 @@ pub enum Action { /// Toggles whether window has decorations /// ## Platform-specific /// - **X11:** Not implemented. - /// - **iOS / Android / Web:** Unsupported. + /// - **Web:** Unsupported. ToggleDecorations, /// Fetch the current [`Mode`] of the window. FetchMode(Box T + 'static>),