Skip to content

Commit ba50900

Browse files
authored
compositor.c: hidden panel windows aren't top (#802)
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.
1 parent fd7ced1 commit ba50900

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

src/compositor/compositor.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1189,6 +1189,13 @@ get_top_visible_window_actor (MetaCompositor *compositor)
11891189

11901190
if (!window->visible_to_compositor)
11911191
continue;
1192+
if (meta_window_get_client_pid (window) == getpid ())
1193+
{
1194+
if (!clutter_actor_get_paint_visibility (CLUTTER_ACTOR (window_actor)))
1195+
continue;
1196+
if (clutter_actor_get_paint_opacity (CLUTTER_ACTOR (window_actor)) == 0)
1197+
continue;
1198+
}
11921199

11931200
meta_window_get_buffer_rect (window, &buffer_rect);
11941201
meta_display_get_size (priv->display,

0 commit comments

Comments
 (0)