--ee9959dec00c462da4d1326e3aed1ce7 Content-Type: text/plain; charset="ascii" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit 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 --ee9959dec00c462da4d1326e3aed1ce7 Content-Type: text/html; charset="ascii" Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable graesslin=20created=20this=20revision.g= raesslin=20added=20reviewers:=20KWin,=20Plasma=20on=20Wayland.Restr= icted=20Application=20added=20subscribers:=20kwin,=20plasma-devel.R= estricted=20Application=20added=20projects:=20Plasma=20on=20Wayland,=20KWin= .View=20Revision
REVISION=20SUMMARY

So=20far=20TabBox= =20used=20highlight=20windows=20by=20passing=20window=20ids=20around=20thro= ugh an=20X=20property.=20This=20doesn't=20work=20on=20Wayland=20where=20we= =20don't=20have=20window ids=20for=20our=20TabBox=20and=20the=20Wayland=20windows.

This=20change=20introduces=20a=20new=20Effect::Feature=20for=20Highlight= Windows=20which the=20HighlightWindowsEffect=20provides.=20The=20EffectsHandlerImpl=20has= =20a=20new method=20to=20highlightWindows=20which=20it=20delegates=20to=20that=20effec= t=20if=20it=20is loaded=20by=20invoking=20a=20slot=20through=20the=20meta=20object.

The=20TabBoxHandler=20now=20passes=20the=20highlighting=20to=20the=20eff= ects=20system instead=20of=20updating=20the=20x11=20property.=20Thus=20this=20works=20on= =20Wayland=20and at=20the=20same=20time=20improves=20the=20X11=20side=20by=20no=20longer=20h= aving=20to=20go=20through the=20property=20protocol.

TEST=20PLAN<= /strong>

Verified=20that=20Alt+Tab=20highlights=20the=20windows=20on= =20Wayland=20correctly.

REPOSITORY
rKWIN=20KWin
BRANCH
highlight-windows-through-effects
<= div>REVISION=20DETAIL
https://phabricator.kde.org/D2630<= /div>
AFFECTED=20FILES
autotest= s/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=20PREFER= ENCES
https://phabricator.kde.org/setting= s/panel/emailpreferences/
To:=20graesslin,=20KWin,=20Plasma=20on=20WaylandCc:=20= plasma-devel,=20kwin,=20lesliezhai,=20ali-mohamed,=20hardening,=20jensreute= rberg,=20abetts,=20sebas
--ee9959dec00c462da4d1326e3aed1ce7--