shell/elements: Don't clip maximized windows/stacks

This commit is contained in:
Victoria Brekenfeld 2025-12-09 13:31:18 +01:00 committed by Victoria Brekenfeld
parent 59fd732982
commit e887e185a7
2 changed files with 21 additions and 9 deletions

View file

@ -676,6 +676,10 @@ impl CosmicStack {
let appearance = p.appearance_conf.lock().unwrap();
let tiled = p.tiled.load(Ordering::Acquire);
if windows[active].is_maximized(false) {
return None;
}
let round = appearance.clip_tiled_windows || !tiled;
if tiled && !appearance.shadow_tiled_windows {
return None;
@ -735,16 +739,15 @@ impl CosmicStack {
&self.0, renderer, stack_loc, scale, alpha,
);
if !self.0.with_program(|p| p.tiled.load(Ordering::Acquire)) {}
elements.extend(self.0.with_program(|p| {
let windows = p.windows.lock().unwrap();
let active = p.active.load(Ordering::SeqCst);
let theme = p.theme.lock().unwrap();
let appearance = p.appearance_conf.lock().unwrap();
let tiled = p.tiled.load(Ordering::Acquire);
let maximized = windows[active].is_maximized(false);
let round = appearance.clip_tiled_windows || !tiled;
let round = (appearance.clip_tiled_windows || !tiled) && !maximized;
let radii = round.then(|| {
theme
.cosmic()
@ -928,7 +931,9 @@ impl CosmicStack {
let active_window = &p.windows.lock().unwrap()[p.active.load(Ordering::SeqCst)];
let is_tiled = p.tiled.load(Ordering::Acquire);
let appearance = p.appearance_conf.lock().unwrap();
let round = appearance.clip_tiled_windows || !is_tiled;
let maximized = active_window.is_maximized(false);
let round = (appearance.clip_tiled_windows || !is_tiled) && !maximized;
let radii = p
.theme
.lock()