[gnome-shell] switcherPopup: Cancel the OSD popup before showing



commit deb77a4dde952227342f1a7177ad5247b462834c
Author: Florian Müllner <fmuellner gnome org>
Date:   Sat Mar 2 19:56:37 2013 +0100

    switcherPopup: Cancel the OSD popup before showing
    
    It is irritating to show two different system popups at the same
    time, so let switcher popups like alt-tab cancel out the OSD.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=613543

 js/ui/osdWindow.js     |    9 +++++++++
 js/ui/switcherPopup.js |    1 +
 2 files changed, 10 insertions(+), 0 deletions(-)
---
diff --git a/js/ui/osdWindow.js b/js/ui/osdWindow.js
index fc90ed2..efcd10d 100644
--- a/js/ui/osdWindow.js
+++ b/js/ui/osdWindow.js
@@ -140,6 +140,15 @@ const OsdWindow = new Lang.Class({
                                                    Lang.bind(this, this._hide));
     },
 
+    cancel: function() {
+        if (!this._hideTimeoutId)
+            return;
+
+        Mainloop.source_remove(this._hideTimeoutId);
+        this._hideTimeoutId = 0;
+        this._hide();
+    },
+
     _hide: function() {
         Tweener.addTween(this.actor,
                          { opacity: 0,
diff --git a/js/ui/switcherPopup.js b/js/ui/switcherPopup.js
index bfe172b..b31dc2e 100644
--- a/js/ui/switcherPopup.js
+++ b/js/ui/switcherPopup.js
@@ -160,6 +160,7 @@ const SwitcherPopup = new Lang.Class({
         // disturbed by the popup briefly flashing.
         this._initialDelayTimeoutId = Mainloop.timeout_add(POPUP_DELAY_TIMEOUT,
                                                            Lang.bind(this, function () {
+                                                               Main.osdWindow.cancel();
                                                                this.actor.opacity = 255;
                                                                this._initialDelayTimeoutId = 0;
                                                            }));


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