@@ -14,6 +14,7 @@ public class Gala.WindowOverview : ActorTarget, RootTarget, ActivatableComponent
1414
1515 private GestureController gesture_controller; // Currently not used for actual touchpad gestures but only as controller
1616
17+ private Clutter . Actor background;
1718 private Clutter . Actor monitors;
1819 private ModalProxy modal_proxy;
1920
@@ -29,6 +30,18 @@ public class Gala.WindowOverview : ActorTarget, RootTarget, ActivatableComponent
2930 };
3031 add_gesture_controller (gesture_controller);
3132
33+ background = new Clutter .Actor () {
34+ #if HAS_MUTTER47
35+ background_color = Cogl.Color.from_string ("black ")
36+ #else
37+ background_color = Clutter.Color.from_string ("black ")
38+ #endif
39+ };
40+ background.add_constraint (new Clutter .BindConstraint (this , SIZE , 0 ));
41+ add_child (background );
42+
43+ add_target (new PropertyTarget (MULTITASKING_VIEW , background , "opacity ", typeof (uint ), 0u, 150u));
44+
3245 monitors = new ActorTarget ();
3346 add_child (monitors );
3447
@@ -73,19 +86,17 @@ public class Gala.WindowOverview : ActorTarget, RootTarget, ActivatableComponent
7386 }
7487
7588 var windows = new List<Meta . Window > ();
89+ #if HAS_MUTTER48
90+ foreach (unowned var window_actor in wm. get_display (). get_compositor (). get_window_actors ()) {
91+ #else
7692 foreach (unowned var window_actor in wm. get_display (). get_window_actors ()) {
93+ #endif
7794 var window = window_actor. meta_window;
78- if (ShellClientsManager . get_instance (). is_positioned_window (window)) {
79- continue ;
80- }
81-
82- if (window. window_type != Meta . WindowType . NORMAL &&
83- window. window_type != Meta . WindowType . DIALOG ||
95+ if (ShellClientsManager . get_instance (). is_positioned_window (window) ||
96+ window. window_type != NORMAL && window. window_type != DIALOG ||
8497 window. is_attached_dialog () ||
8598 window_ids != null && ! (window. get_id () in window_ids)
8699 ) {
87- window_actor. hide ();
88-
89100 continue ;
90101 }
91102
0 commit comments