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;