Add override_redirect for X11 windows

This commit add the `override_redirect` boolean field to the `PlatformSpecific` struct for linux platform.
This is a X11-specific flag allow bypassing window manager mapping for precise positioning of windows.
This commit is contained in:
Nadji Abidi 2024-06-22 16:12:19 +01:00 committed by Héctor Ramón Jiménez
parent abd323181d
commit 190774258c
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
2 changed files with 14 additions and 4 deletions

View file

@ -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 applications .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,
}

View file

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