[gnome-shell/gnome-40] boxpointer: Disable unredirection while visible



commit 0451a5a83e62bf8e208fde52bd2856e2a3ed273a
Author: Florian Müllner <fmuellner gnome org>
Date:   Mon Jun 28 11:57:05 2021 +0200

    boxpointer: Disable unredirection while visible
    
    Some popovers like the ibus candidate popover may be requested while
    showing an unredirected fullscreen window. Disable unredirection
    while the popover is visible so that it can actually be shown.
    
    Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1900>
    (cherry picked from commit 54a71944ba7dd3704fb839021e5a4a90acd68c30)

 js/ui/boxpointer.js | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/boxpointer.js b/js/ui/boxpointer.js
index b8c2f09b65..c664ae748b 100644
--- a/js/ui/boxpointer.js
+++ b/js/ui/boxpointer.js
@@ -1,7 +1,7 @@
 // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 /* exported BoxPointer */
 
-const { Clutter, GObject, St } = imports.gi;
+const { Clutter, GObject, Meta, St } = imports.gi;
 
 const Main = imports.ui.main;
 
@@ -48,6 +48,13 @@ var BoxPointer = GObject.registerClass({
         this._sourceAlignment = 0.5;
         this._muteInput = true;
 
+        this.connect('notify::visible', () => {
+            if (this.visible)
+                Meta.disable_unredirect_for_display(global.display);
+            else
+                Meta.enable_unredirect_for_display(global.display);
+        });
+
         this.connect('destroy', this._onDestroy.bind(this));
     }
 


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