The non-composited part handles the showWithX case with the four small
windows. The composited part shows a translucent QWidget with the
FrameSvg as done by the selection effect frame.
Outline connects to the Compositor toggled signal to switch the mode if
compositing gets suspended/resumed. This works fine also in the case that
the switch happens while the outline is shown. To support this Outline
is now a QObject and created with Workspace as a parent.
Given that the Outline handles both cases by itself, the outline effect
is no longer needed and is dropped together with all the hooks into the
effect system.
The usage has always been questionable as the thumbnails are
too small to properly recognize something.
Now BoxSwitch Effect has reach its end of life which would have
required to keep most of the code just for this thumbnail bar.
If required it would be better to integrate the normal QML based
TabBox to be rendered together with an effect.
BUG: 296070
FIXED-IN: 4.11.0
A specialised paintScreen method to render all windows of one
desktop. It's intended to be called during an already started
paintScreen process to get e.g. a thumbnail of a desktop.
Currently not yet exported to the Effects.
Everything that has nothing to do with rendering the window thumbnail
goes into an AbstractThumbnailItem.
This is a preparation step for adding a DesktopThumbnailItem.
The existing desktop switcher becomes the first available layout called
"informative". For both variants of desktop switchers a new config key is
introduced to define the desktop switcher layout.
Desktop layouts are installed into a different directory than window
switcher layout and use a different service type.
For the moment it's basically a hidden config option as there are no
further layouts yet.
BUG: 296068
FIXED-IN: 4.11
REVIEW: 110021
It's an option doing pretty much the same as the highlight of selected
window option. But it is known to conflict especially with some Plasma
themes.
BUG: 310935
FIXED-IN: 4.11
REVIEW: 110140
Overall all notifications except compositing suspended by DBus were
configured by default to not have any action. This means all the time we
emit a notification we keep DBus and KDED busy for nothing.
All the cases when a notification is triggered ire also exported to
KWin scripting, so if one really needs to handle something in case a
window is moved, it could be done through a KWin script with much more
context about the event.
REVIEW: 110113
BUG: 258097
FIXED-IN: 4.11