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;
No comments:
Post a Comment