View Revision
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