Skip to content

Commit 1ddd88d

Browse files
committed
Assure Popup Windows (override-redirect) open over parent
The problem and solution is reported by `vx-sec` on Github. It was found on Xmonad WM. The fix simply raises the override-redirect window to top, flushes display events and the restack windows for "Keep-on-top" windows to work properly Also tested on the default XFCE on r4.3 resolves: QubesOS/qubes-issues#9935
1 parent cd00839 commit 1ddd88d

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

gui-daemon/xside.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3466,6 +3466,10 @@ static void handle_map(Ghandles * g, struct windowdata *vm_window)
34663466
(void) XMapWindow(g->display, vm_window->local_winid);
34673467

34683468
if (vm_window->override_redirect) {
3469+
// Ensure override redirect window is raised after mapping
3470+
XRaiseWindow(g->display, vm_window->local_winid);
3471+
XFlush(g->display); // Ensure raise takes effect immediately
3472+
// Then, if there are "keep on top" windows, move them to top
34693473
restack_windows(g, vm_window);
34703474
}
34713475
}

0 commit comments

Comments
 (0)