From 77b63c4243f9eb12f0c00b0656d93e1abd56f2f2 Mon Sep 17 00:00:00 2001 From: chompaa Date: Tue, 12 Mar 2024 17:31:03 -0400 Subject: [PATCH 1/4] Expose Winit's `with_skip_taskbar` on window creation --- crates/bevy_window/src/window.rs | 10 ++++++++++ crates/bevy_winit/src/winit_windows.rs | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/crates/bevy_window/src/window.rs b/crates/bevy_window/src/window.rs index c241c9b71330a..b0a1fcb6dc04d 100644 --- a/crates/bevy_window/src/window.rs +++ b/crates/bevy_window/src/window.rs @@ -259,6 +259,15 @@ pub struct Window { /// /// - **Android / Wayland / Web:** Unsupported. pub visible: bool, + /// Sets whether the window should be shown in the taskbar. + /// + /// If `true`, the window will not appear in the taskbar. + /// If `false`, the window will appear in the taskbar. + /// + /// ## Platform-specific + /// + /// - Only supported on Windows. + pub skip_taskbar: bool, } impl Default for Window { @@ -287,6 +296,7 @@ impl Default for Window { canvas: None, window_theme: None, visible: true, + skip_taskbar: false, } } } diff --git a/crates/bevy_winit/src/winit_windows.rs b/crates/bevy_winit/src/winit_windows.rs index 4375e7c277744..048aad597c2c3 100644 --- a/crates/bevy_winit/src/winit_windows.rs +++ b/crates/bevy_winit/src/winit_windows.rs @@ -12,6 +12,7 @@ use bevy_window::{CursorGrabMode, Window, WindowMode, WindowPosition, WindowReso use winit::{ dpi::{LogicalSize, PhysicalPosition}, monitor::MonitorHandle, + platform::windows::WindowBuilderExtWindows, }; use crate::{ @@ -104,6 +105,11 @@ impl WinitWindows { .with_transparent(window.transparent) .with_visible(window.visible); + #[cfg(target_os = "windows")] + { + winit_window_builder = winit_window_builder.with_skip_taskbar(window.skip_taskbar) + } + #[cfg(any( target_os = "linux", target_os = "dragonfly", From 29c3d9c67724a3bb7d63acc4e2c5a09615a7dbef Mon Sep 17 00:00:00 2001 From: chompaa Date: Tue, 12 Mar 2024 17:43:09 -0400 Subject: [PATCH 2/4] Remove accidental import --- crates/bevy_winit/src/winit_windows.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/crates/bevy_winit/src/winit_windows.rs b/crates/bevy_winit/src/winit_windows.rs index 048aad597c2c3..bb51a37bb8838 100644 --- a/crates/bevy_winit/src/winit_windows.rs +++ b/crates/bevy_winit/src/winit_windows.rs @@ -12,7 +12,6 @@ use bevy_window::{CursorGrabMode, Window, WindowMode, WindowPosition, WindowReso use winit::{ dpi::{LogicalSize, PhysicalPosition}, monitor::MonitorHandle, - platform::windows::WindowBuilderExtWindows, }; use crate::{ From 4e7d78cd93ac7c14e7c19c61debbd3019f3a40f9 Mon Sep 17 00:00:00 2001 From: chompaa Date: Tue, 12 Mar 2024 20:28:53 -0400 Subject: [PATCH 3/4] Fix import --- crates/bevy_winit/src/winit_windows.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/bevy_winit/src/winit_windows.rs b/crates/bevy_winit/src/winit_windows.rs index bb51a37bb8838..ff7d798d4bf33 100644 --- a/crates/bevy_winit/src/winit_windows.rs +++ b/crates/bevy_winit/src/winit_windows.rs @@ -106,6 +106,7 @@ impl WinitWindows { #[cfg(target_os = "windows")] { + use winit::platform::windows::WindowBuilderExtWindows; winit_window_builder = winit_window_builder.with_skip_taskbar(window.skip_taskbar) } From 2db24dab0f28a8bcab19c4c7ed388294d1b54d0e Mon Sep 17 00:00:00 2001 From: chompaa Date: Tue, 12 Mar 2024 20:29:13 -0400 Subject: [PATCH 4/4] Add note to `skip_taskbar` property about window creation --- crates/bevy_window/src/window.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crates/bevy_window/src/window.rs b/crates/bevy_window/src/window.rs index b0a1fcb6dc04d..ccc861a78d23b 100644 --- a/crates/bevy_window/src/window.rs +++ b/crates/bevy_window/src/window.rs @@ -264,6 +264,8 @@ pub struct Window { /// If `true`, the window will not appear in the taskbar. /// If `false`, the window will appear in the taskbar. /// + /// Note that this will only take effect on window creation. + /// /// ## Platform-specific /// /// - Only supported on Windows.