From 54a71944ba7dd3704fb839021e5a4a90acd68c30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Mon, 28 Jun 2021 11:57:05 +0200 Subject: [PATCH] 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: --- 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 b8c2f09b6..c664ae748 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)); }