bugfix: x11/gnome/shell unredirection of fullscreen windows

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

bugfix: x11/gnome/shell unredirection of fullscreen windows

Ryan Freeman
Hi,

I've been banging my head on this one for 2 months.  Alas, a fix is found,
and I hope it can make it in for 6.5.

After the update to gnome-3.30, I noticed running fullscreen 3d things
felt really sluggish.  Tonight I happily stumbled upon the fix from
upstream:

https://gitlab.gnome.org/3v1n0/gnome-shell/commit/5e7a7e31a108c572da54bd2c0b2ed68a5eb529ac

I applied this to our current verison of gnome-shell in ports and it solves
the issue entirely for me.

OK?

-ryan


Index: Makefile
===================================================================
RCS file: /cvs/ports/x11/gnome/shell/Makefile,v
retrieving revision 1.167
diff -u -p -r1.167 Makefile
--- Makefile 17 Jan 2019 19:00:46 -0000 1.167
+++ Makefile 5 Mar 2019 09:26:09 -0000
@@ -6,6 +6,7 @@ COMMENT= next generation GNOME shell
 
 GNOME_PROJECT= gnome-shell
 GNOME_VERSION= 3.30.2
+REVISION= 0
 
 # GPLv2+
 PERMIT_PACKAGE_CDROM= Yes
Index: patches/patch-js_ui_messageTray_js
===================================================================
RCS file: patches/patch-js_ui_messageTray_js
diff -N patches/patch-js_ui_messageTray_js
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-js_ui_messageTray_js 5 Mar 2019 09:26:09 -0000
@@ -0,0 +1,31 @@
+$OpenBSD$
+
+Fix unredirection for fullscreen windows after notification message is
+displayed.
+
+https://gitlab.gnome.org/3v1n0/gnome-shell/commit/5e7a7e31a108c572da54bd2c0b2ed68a5eb529ac
+
+Index: js/ui/messageTray.js
+--- js/ui/messageTray.js.orig
++++ js/ui/messageTray.js
+@@ -1309,10 +1309,8 @@ var MessageTray = new Lang.Class({
+         }
+
+         this._banner = this._notification.createBanner();
+-        this._bannerClickedId = this._banner.connect('done-displaying', () => {
+-            Meta.enable_unredirect_for_display(global.display);
+-            this._escapeTray();
+-        });
++        this._bannerClickedId = this._banner.connect('done-displaying',
++                                                     this._escapeTray.bind(this));
+         this._bannerUnfocusedId = this._banner.connect('unfocused', () => {
+             this._updateState();
+         });
+@@ -1462,6 +1460,7 @@ var MessageTray = new Lang.Class({
+
+         this._pointerInNotification = false;
+         this._notificationRemoved = false;
++        Meta.enable_unredirect_for_display(global.display);
+
+         this._banner.actor.destroy();
+         this._banner = null;

Reply | Threaded
Open this post in threaded view
|

Re: bugfix: x11/gnome/shell unredirection of fullscreen windows

Antoine Jacoutot-7
On Tue, Mar 05, 2019 at 01:28:54AM -0800, Ryan Freeman wrote:

> Hi,
>
> I've been banging my head on this one for 2 months.  Alas, a fix is found,
> and I hope it can make it in for 6.5.
>
> After the update to gnome-3.30, I noticed running fullscreen 3d things
> felt really sluggish.  Tonight I happily stumbled upon the fix from
> upstream:
>
> https://gitlab.gnome.org/3v1n0/gnome-shell/commit/5e7a7e31a108c572da54bd2c0b2ed68a5eb529ac
>
> I applied this to our current verison of gnome-shell in ports and it solves
> the issue entirely for me.
>
> OK?

OK thanks :-)
(I didn't notice any regression myself which is why I never looked)


> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/x11/gnome/shell/Makefile,v
> retrieving revision 1.167
> diff -u -p -r1.167 Makefile
> --- Makefile 17 Jan 2019 19:00:46 -0000 1.167
> +++ Makefile 5 Mar 2019 09:26:09 -0000
> @@ -6,6 +6,7 @@ COMMENT= next generation GNOME shell
>  
>  GNOME_PROJECT= gnome-shell
>  GNOME_VERSION= 3.30.2
> +REVISION= 0
>  
>  # GPLv2+
>  PERMIT_PACKAGE_CDROM= Yes
> Index: patches/patch-js_ui_messageTray_js
> ===================================================================
> RCS file: patches/patch-js_ui_messageTray_js
> diff -N patches/patch-js_ui_messageTray_js
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-js_ui_messageTray_js 5 Mar 2019 09:26:09 -0000
> @@ -0,0 +1,31 @@
> +$OpenBSD$
> +
> +Fix unredirection for fullscreen windows after notification message is
> +displayed.
> +
> +https://gitlab.gnome.org/3v1n0/gnome-shell/commit/5e7a7e31a108c572da54bd2c0b2ed68a5eb529ac
> +
> +Index: js/ui/messageTray.js
> +--- js/ui/messageTray.js.orig
> ++++ js/ui/messageTray.js
> +@@ -1309,10 +1309,8 @@ var MessageTray = new Lang.Class({
> +         }
> +
> +         this._banner = this._notification.createBanner();
> +-        this._bannerClickedId = this._banner.connect('done-displaying', () => {
> +-            Meta.enable_unredirect_for_display(global.display);
> +-            this._escapeTray();
> +-        });
> ++        this._bannerClickedId = this._banner.connect('done-displaying',
> ++                                                     this._escapeTray.bind(this));
> +         this._bannerUnfocusedId = this._banner.connect('unfocused', () => {
> +             this._updateState();
> +         });
> +@@ -1462,6 +1460,7 @@ var MessageTray = new Lang.Class({
> +
> +         this._pointerInNotification = false;
> +         this._notificationRemoved = false;
> ++        Meta.enable_unredirect_for_display(global.display);
> +
> +         this._banner.actor.destroy();
> +         this._banner = null;
>

--
Antoine