@@ -10,6 +10,8 @@ public class Gala.ShellWindow : PositionedWindow, GestureTarget {
1010
1111 public Clutter . Actor ? actor { get { return window_actor; } }
1212
13+ public bool visible_in_multitasking_view { get ; set ; default = false ; }
14+
1315 private Meta . WindowActor window_actor;
1416 private double custom_progress = 0 ;
1517 private double multitasking_view_progress = 0 ;
@@ -40,9 +42,16 @@ public class Gala.ShellWindow : PositionedWindow, GestureTarget {
4042 );
4143 }
4244
45+ private double get_hidden_progress () {
46+ if (visible_in_multitasking_view) {
47+ return double . min (custom_progress, 1 - multitasking_view_progress);
48+ } else {
49+ return double . max (custom_progress, multitasking_view_progress);
50+ }
51+ }
52+
4353 private void update_property () {
44- var hidden_progress = double . max (custom_progress, multitasking_view_progress);
45- property_target. propagate (UPDATE , GESTURE_ID , hidden_progress);
54+ property_target. propagate (UPDATE , GESTURE_ID , get_hidden_progress ());
4655 }
4756
4857 public override void propagate (UpdateType update_type , string id , double progress ) {
@@ -84,7 +93,7 @@ public class Gala.ShellWindow : PositionedWindow, GestureTarget {
8493 }
8594
8695 private void update_visibility () {
87- var visible = double . max (multitasking_view_progress, custom_progress ) < 0.1 ;
96+ var visible = get_hidden_progress ( ) < 0.1 ;
8897 var animating = animations_ongoing > 0 ;
8998
9099 if (! Meta . Util . is_wayland_compositor ()) {
0 commit comments