[gnome-shell] appMenu: Do launch animation if supported by source



commit c809a874124053a19b2640daa0da5cdc5416cba8
Author: Florian Müllner <fmuellner gnome org>
Date:   Wed Aug 11 23:54:30 2021 +0200

    appMenu: Do launch animation if supported by source
    
    Likewise any launch actions should animate the corresponding launcher
    (if the menu is associated with a launcher).
    
    Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1948>

 js/ui/appMenu.js | 9 +++++++++
 1 file changed, 9 insertions(+)
---
diff --git a/js/ui/appMenu.js b/js/ui/appMenu.js
index 3b757492e5..f1256f7c4d 100644
--- a/js/ui/appMenu.js
+++ b/js/ui/appMenu.js
@@ -38,6 +38,7 @@ var AppMenu = class AppMenu extends PopupMenu.PopupMenu {
         this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
 
         this._newWindowItem = this.addAction(_('New Window'), () => {
+            this._animateLaunch();
             this._app.open_new_window(-1);
             Main.overview.hide();
         });
@@ -79,6 +80,11 @@ var AppMenu = class AppMenu extends PopupMenu.PopupMenu {
         this._detailsItem.visible = sw !== null;
     }
 
+    _animateLaunch() {
+        if (this.sourceActor.animateLaunch)
+            this.sourceActor.animateLaunch();
+    }
+
     /** */
     destroy() {
         super.destroy();
@@ -126,6 +132,9 @@ var AppMenu = class AppMenu extends PopupMenu.PopupMenu {
         actions.forEach(action => {
             const label = appInfo.get_action_name(action);
             this._actionSection.addAction(label, event => {
+                if (action === 'new-window')
+                    this._animateLaunch();
+
                 this._app.launch_action(action, event.get_time(), -1);
                 Main.overview.hide();
             });


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]