Tuesday, March 05, 2019

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

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

No comments:

Post a Comment