@@ -9,6 +9,8 @@ public class Gala.ShellWindow : PositionedWindow, GestureTarget {
99 public Clutter . Actor ? actor { get { return window_actor; } }
1010 public bool restore_previous_x11_region { private get ; set ; default = false ; }
1111
12+ public bool visible_in_multitasking_view { get ; set ; default = false ; }
13+
1214 private Meta . WindowActor window_actor;
1315 private double custom_progress = 0 ;
1416 private double multitasking_view_progress = 0 ;
@@ -39,9 +41,16 @@ public class Gala.ShellWindow : PositionedWindow, GestureTarget {
3941 );
4042 }
4143
44+ private double get_hidden_progress () {
45+ if (visible_in_multitasking_view) {
46+ return double . min (custom_progress, 1 - multitasking_view_progress);
47+ } else {
48+ return double . max (custom_progress, multitasking_view_progress);
49+ }
50+ }
51+
4252 private void update_property () {
43- var hidden_progress = double . max (custom_progress, multitasking_view_progress);
44- property_target. propagate (UPDATE , DOCK , hidden_progress);
53+ property_target. propagate (UPDATE , DOCK , get_hidden_progress ());
4554 }
4655
4756 public override void propagate (UpdateType update_type , GestureAction action , double progress ) {
@@ -83,7 +92,7 @@ public class Gala.ShellWindow : PositionedWindow, GestureTarget {
8392 }
8493
8594 private void update_visibility () {
86- var visible = double . max (multitasking_view_progress, custom_progress ) < 0.1 ;
95+ var visible = get_hidden_progress ( ) < 0.1 ;
8796 var animating = animations_ongoing > 0 ;
8897
8998 window_actor. visible = animating || visible;
0 commit comments