Skip to content

Commit 645712b

Browse files
committed
MultitaskingView: Use ShellClients state for panel hiding
1 parent 7af83ee commit 645712b

File tree

1 file changed

+3
-104
lines changed

1 file changed

+3
-104
lines changed

src/Widgets/MultitaskingView.vala

Lines changed: 3 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -631,7 +631,7 @@ namespace Gala {
631631
wm.background_group.hide ();
632632
wm.window_group.hide ();
633633
wm.top_window_group.hide ();
634-
wm.shell_group.hide ();
634+
// wm.shell_group.hide ();
635635
show ();
636636
grab_key_focus ();
637637

@@ -676,9 +676,9 @@ namespace Gala {
676676
}
677677

678678
if (opening) {
679-
show_docks (with_gesture, is_cancel_animation);
679+
ShellClientsManager.get_instance ().add_state (MULTITASKING_VIEW, multitasking_gesture_tracker);
680680
} else {
681-
hide_docks (with_gesture, is_cancel_animation);
681+
ShellClientsManager.get_instance ().remove_state (MULTITASKING_VIEW, multitasking_gesture_tracker);
682682
}
683683

684684
GestureTracker.OnEnd on_animation_end = (percentage, completions) => {
@@ -718,107 +718,6 @@ namespace Gala {
718718
}
719719
}
720720

721-
private void show_docks (bool with_gesture, bool is_cancel_animation) {
722-
unowned GLib.List<Meta.WindowActor> window_actors = display.get_window_actors ();
723-
foreach (unowned Meta.WindowActor actor in window_actors) {
724-
const int MAX_OFFSET = 200;
725-
726-
if (actor.is_destroyed () || !actor.visible || actor.translation_y != 0) {
727-
continue;
728-
}
729-
730-
unowned Meta.Window window = actor.get_meta_window ();
731-
var monitor = window.get_monitor ();
732-
733-
if (window.window_type != Meta.WindowType.DOCK) {
734-
continue;
735-
}
736-
737-
if (NotificationStack.is_notification (window)) {
738-
continue;
739-
}
740-
741-
if (display.get_monitor_in_fullscreen (monitor)) {
742-
continue;
743-
}
744-
745-
var monitor_geom = display.get_monitor_geometry (monitor);
746-
747-
var window_geom = window.get_frame_rect ();
748-
var top = monitor_geom.y + MAX_OFFSET > window_geom.y;
749-
var bottom = monitor_geom.y + monitor_geom.height - MAX_OFFSET < window_geom.y;
750-
751-
if (!top && !bottom) {
752-
continue;
753-
}
754-
755-
var initial_x = actor.x;
756-
var initial_y = actor.y;
757-
var target_y = (top)
758-
? actor.y - actor.height
759-
: actor.y + actor.height;
760-
761-
var clone = new SafeWindowClone (window, true);
762-
dock_clones.add_child (clone);
763-
764-
clone.set_position (initial_x, initial_y);
765-
766-
GestureTracker.OnUpdate on_animation_update = (percentage) => {
767-
var y = GestureTracker.animation_value (initial_y, target_y, percentage);
768-
clone.y = y;
769-
};
770-
771-
GestureTracker.OnEnd on_animation_end = (percentage, completions) => {
772-
if (completions == 0) {
773-
return;
774-
}
775-
776-
clone.save_easing_state ();
777-
clone.set_easing_mode (Clutter.AnimationMode.EASE_OUT_QUAD);
778-
clone.set_easing_duration ((!is_cancel_animation && AnimationsSettings.get_enable_animations ()) ? ANIMATION_DURATION : 0);
779-
clone.y = target_y;
780-
clone.restore_easing_state ();
781-
};
782-
783-
if (!with_gesture || !AnimationsSettings.get_enable_animations ()) {
784-
on_animation_end (1, 1, 0);
785-
} else {
786-
multitasking_gesture_tracker.connect_handlers (null, (owned) on_animation_update, (owned) on_animation_end);
787-
}
788-
}
789-
}
790-
791-
private void hide_docks (bool with_gesture, bool is_cancel_animation) {
792-
foreach (unowned var child in dock_clones.get_children ()) {
793-
var dock = (Clutter.Clone) child;
794-
var initial_y = dock.y;
795-
var target_y = dock.source.y;
796-
797-
GestureTracker.OnUpdate on_animation_update = (percentage) => {
798-
var y = GestureTracker.animation_value (initial_y, target_y, percentage);
799-
dock.y = y;
800-
};
801-
802-
GestureTracker.OnEnd on_animation_end = (percentage, completions) => {
803-
if (completions == 0) {
804-
return;
805-
}
806-
807-
dock.save_easing_state ();
808-
dock.set_easing_mode (Clutter.AnimationMode.EASE_OUT_QUAD);
809-
dock.set_easing_duration (AnimationsSettings.get_animation_duration (ANIMATION_DURATION));
810-
dock.y = target_y;
811-
dock.restore_easing_state ();
812-
};
813-
814-
if (!with_gesture || !AnimationsSettings.get_enable_animations ()) {
815-
on_animation_end (1, 1, 0);
816-
} else {
817-
multitasking_gesture_tracker.connect_handlers (null, (owned) on_animation_update, (owned) on_animation_end);
818-
}
819-
}
820-
}
821-
822721
private bool keybinding_filter (Meta.KeyBinding binding) {
823722
var action = Meta.Prefs.get_keybinding_action (binding.get_name ());
824723

0 commit comments

Comments
 (0)