diff --git a/docs/changelog.md b/docs/changelog.md index 4c02fe4..f911eed 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -12,6 +12,7 @@ SPDX-License-Identifier: CC-BY-4.0 #### Bug Fixes * Fixed an issue which made windows invisible which did not set the `WM_CLASS` X11 property correctly. +* Fixed an issue which made window-picking of Wayland windows impossible on GNOME 44. ## [Burn My Windows 30](https://github.com/schneegans/Burn-My-Windows/releases/tag/v30) diff --git a/src/WindowPicker.js b/src/WindowPicker.js index 61cbc7d..ae4e861 100644 --- a/src/WindowPicker.js +++ b/src/WindowPicker.js @@ -57,15 +57,18 @@ var WindowPicker = class WindowPicker { .filter(e => e.toString().includes('lookingGlass_RedBorderEffect')) .forEach(e => target.remove_effect(e)); - let actor = target; if (target.toString().includes('MetaSurfaceActor')) { - actor = target.get_parent(); + target = target.get_parent(); + } + + if (target.toString().includes('ContainerActor')) { + target = target.get_parent(); } let wmClass = 'window-not-found'; - if (actor.toString().includes('WindowActor') && - actor.meta_window.get_wm_class() != '') { - wmClass = actor.meta_window.get_wm_class(); + if (target.toString().includes('WindowActor') && + target.meta_window.get_wm_class() != '') { + wmClass = target.meta_window.get_wm_class(); } this._dbus.emit_signal('WindowPicked', new GLib.Variant('(s)', [wmClass]));