[gnome-shell/wip/fmuellner/fix-fs-banners: 161/161] messageTray: Disable unredirection while showing banners



commit 4dc2039859fc05d8cab43478e2c66bc51b530802
Author: Florian Müllner <fmuellner gnome org>
Date:   Mon Aug 13 01:25:13 2018 +0200

    messageTray: Disable unredirection while showing banners
    
    We don't usually show notification banners while the monitor is in
    fullscreen, but when we do - the notification is urgent - we should
    actually show the banner, even if the top-most window is unredirected.
    To achieve that, disable unredirection while the banner is showing.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/issues/430

 js/ui/messageTray.js | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
index c0766566c..84681569e 100644
--- a/js/ui/messageTray.js
+++ b/js/ui/messageTray.js
@@ -1295,8 +1295,10 @@ var MessageTray = new Lang.Class({
         }
 
         this._banner = this._notification.createBanner();
-        this._bannerClickedId = this._banner.connect('done-displaying',
-                                                     this._escapeTray.bind(this));
+        this._bannerClickedId = this._banner.connect('done-displaying', () => {
+            Meta.enable_unredirect_for_display(global.display);
+            this._escapeTray();
+        });
         this._bannerUnfocusedId = this._banner.connect('unfocused', () => {
             this._updateState();
         });
@@ -1308,6 +1310,7 @@ var MessageTray = new Lang.Class({
         this._bannerBin.y = -this._banner.actor.height;
         this.actor.show();
 
+        Meta.disable_unredirect_for_display(global.display);
         this._updateShowingNotification();
 
         let [x, y, mods] = global.get_pointer();


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