From 200074e580cbefadf20d5ee9d492846ab0d8e498 Mon Sep 17 00:00:00 2001 From: Hojjat Date: Wed, 13 May 2026 17:23:58 -0600 Subject: [PATCH 1/2] fix: fullscreen x11 games opening as floating/tiled windows --- src/xwayland.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/xwayland.rs b/src/xwayland.rs index c4549c9e..4e75579d 100644 --- a/src/xwayland.rs +++ b/src/xwayland.rs @@ -809,12 +809,14 @@ impl XwmHandler for State { ); } if !shell.pending_windows.iter().any(|w| w.surface == window) { + let fullscreen = window.is_fullscreen().then(|| seat.active_output()); + let maximized = window.is_maximized(); let surface = CosmicSurface::from(window); shell.pending_windows.push(PendingWindow { surface, seat, - fullscreen: None, - maximized: false, + fullscreen, + maximized, sticky: false, }) } From 451b8319d633e50d729c60a6719a4dd57d751574 Mon Sep 17 00:00:00 2001 From: Hojjat Date: Wed, 20 May 2026 18:58:27 -0600 Subject: [PATCH 2/2] fix: ignore configure requests from fullscreen windows Fixes steam big picture mode full screen not taking the whole screen --- src/xwayland.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/xwayland.rs b/src/xwayland.rs index 4e75579d..4c2f3b55 100644 --- a/src/xwayland.rs +++ b/src/xwayland.rs @@ -916,7 +916,11 @@ impl XwmHandler for State { // We only allow floating X11 windows to resize themselves. Nothing else let shell = self.common.shell.read(); - // TODO: Fullscreen + if window.is_fullscreen() { + let _ = window.configure(None); + return; + } + if let Some(mapped) = shell .element_for_surface(&window) .filter(|mapped| !mapped.is_minimized())