diff options
author | 2024-09-11 00:10:04 +0200 | |
---|---|---|
committer | 2024-09-11 00:10:04 +0200 | |
commit | 770176a4e19ef3db257daa311860b54a4ec14bc1 (patch) | |
tree | 651b1f649086fe1a0365d1c1d38a2b1dd3dcc49f | |
parent | 2a17afb7374deabcc7571688e58fcce01182d646 (diff) | |
parent | 190774258c3d2a32451b05738188973ae0393a42 (diff) | |
download | iced-770176a4e19ef3db257daa311860b54a4ec14bc1.tar.gz iced-770176a4e19ef3db257daa311860b54a4ec14bc1.tar.bz2 iced-770176a4e19ef3db257daa311860b54a4ec14bc1.zip |
Merge pull request #2476 from alliby/master
Add `override_redirect` for X11 windows
Diffstat (limited to '')
-rw-r--r-- | core/src/window/settings/linux.rs | 6 | ||||
-rw-r--r-- | winit/src/conversion.rs | 12 |
2 files changed, 14 insertions, 4 deletions
diff --git a/core/src/window/settings/linux.rs b/core/src/window/settings/linux.rs index 009b9d9e..0a1e11cd 100644 --- a/core/src/window/settings/linux.rs +++ b/core/src/window/settings/linux.rs @@ -8,4 +8,10 @@ pub struct PlatformSpecific { /// As a best practice, it is suggested to select an application id that match /// the basename of the application’s .desktop file. pub application_id: String, + + /// Whether bypass the window manager mapping for x11 windows + /// + /// This flag is particularly useful for creating UI elements that need precise + /// positioning and immediate display without window manager interference. + pub override_redirect: bool, } diff --git a/winit/src/conversion.rs b/winit/src/conversion.rs index 585e2409..aaaca1a9 100644 --- a/winit/src/conversion.rs +++ b/winit/src/conversion.rs @@ -105,10 +105,14 @@ pub fn window_attributes( { use winit::platform::x11::WindowAttributesExtX11; - attributes = attributes.with_name( - &settings.platform_specific.application_id, - &settings.platform_specific.application_id, - ); + attributes = attributes + .with_override_redirect( + settings.platform_specific.override_redirect, + ) + .with_name( + &settings.platform_specific.application_id, + &settings.platform_specific.application_id, + ); } #[cfg(feature = "wayland")] { |