graesslin created this revision. graesslin added reviewers: KWin, Plasma on Wayland. Restricted Application added subscribers: kwin, plasma-devel. Restricted Application added projects: Plasma on Wayland, KWin.
REVISION SUMMARY So far TabBox used highlight windows by passing window ids around through an X property. This doesn't work on Wayland where we don't have window ids for our TabBox and the Wayland windows. This change introduces a new Effect::Feature for HighlightWindows which the HighlightWindowsEffect provides. The EffectsHandlerImpl has a new method to highlightWindows which it delegates to that effect if it is loaded by invoking a slot through the meta object. The TabBoxHandler now passes the highlighting to the effects system instead of updating the x11 property. Thus this works on Wayland and at the same time improves the X11 side by no longer having to go through the property protocol. TEST PLAN Verified that Alt+Tab highlights the windows on Wayland correctly. REPOSITORY rKWIN KWin BRANCH highlight-windows-through-effects REVISION DETAIL https://phabricator.kde.org/D2630 AFFECTED FILES autotests/tabbox/mock_tabboxhandler.h effects.cpp effects.h effects/highlightwindow/highlightwindow.cpp effects/highlightwindow/highlightwindow.h libkwineffects/kwineffects.h tabbox/tabbox.cpp tabbox/tabbox.h tabbox/tabboxhandler.cpp tabbox/tabboxhandler.h EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: graesslin, #kwin, #plasma_on_wayland Cc: plasma-devel, kwin, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas