@@ -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 ;
@@ -44,9 +46,16 @@ public class Gala.ShellWindow : PositionedWindow, GestureTarget {
4446 );
4547 }
4648
49+ private double get_hidden_progress () {
50+ if (visible_in_multitasking_view) {
51+ return double . min (custom_progress, 1 - multitasking_view_progress);
52+ } else {
53+ return double . max (custom_progress, multitasking_view_progress);
54+ }
55+ }
56+
4757 private void update_property () {
48- var hidden_progress = double . max (custom_progress, multitasking_view_progress);
49- property_target. propagate (UPDATE , DOCK , hidden_progress);
58+ property_target. propagate (UPDATE , DOCK , get_hidden_progress ());
5059 }
5160
5261 public override void propagate (UpdateType update_type , GestureAction action , double progress ) {
@@ -88,7 +97,7 @@ public class Gala.ShellWindow : PositionedWindow, GestureTarget {
8897 }
8998
9099 private void update_visibility () {
91- var visible = double . max (multitasking_view_progress, custom_progress ) < 0.1 ;
100+ var visible = get_hidden_progress ( ) < 0.1 ;
92101 var animating = animations_ongoing > 0 ;
93102
94103 window_actor. visible = animating || visible;
0 commit comments