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")]          { | 
