Skip to content

compositor.c: hidden panel windows aren't top#802

Open
jknockel wants to merge 1 commit intolinuxmint:masterfrom
jknockel:transparent-arent-top
Open

compositor.c: hidden panel windows aren't top#802
jknockel wants to merge 1 commit intolinuxmint:masterfrom
jknockel:transparent-arent-top

Conversation

@jknockel
Copy link
Contributor

@jknockel jknockel commented Mar 1, 2026

Top windows are tracked for the purpose of evaluating whether to unredirect the top window. Prior to this proposed change, systray icon windows could be considered top windows, even in the presence of a fullscreen window. When this occurs, the fullscreen window will never be unredirected, since it is not the top window.

When a window is fullscreen, we already hide the panel, including all systray icons. This change ensures that we do not consider such hidden panel windows to ever be top windows.

To generate a reproducing systray icon that prevents fullscreen windows from being unredirected:

yad --notification --image="dialog-warning" --text="Systray test"

A real-world reproducer is the KeePassXC tray icon.

Top windows are tracked for the purpose of evaluating whether to
unredirect the top window.  Prior to this change, systray icon windows
could be considered top windows, even in the presence of a fullscreen
window.  When this occurs, the fullscreen window will never be
unredirected, since it is not the top window.

When a window is fullscreen, we already hide the panel, including all
systray icons.  This change ensures that we do not consider such hidden
panel windows to ever be top windows.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant