--use plasma approach in order to show context menus
for applets by introducing a new QuickItem that will
be responsible for this at the bottom of applets and
containment layers
--This is a HUGE FEATURE and so important for multi-screens
users. It is introduced as one single commit because it
reimplements plenty of infrastructure changes and it will
be easier to identify newly introduced bugs.
--Users can now choose for their docks and panels to belong
at various screen groups. The first two screen groups introduced
are AllScreens and AllSecondayScreens. In the future it might
be possible to provide CustomScreensGroup that the user will
be able to define specific screens in which a dock or panel
should be always present.
--Current solution specifies an Original dock or panel and clones/copies
itself automatically to other screens. So docks and panels in other screens
are just real docks and panels that reference themselves to original
docks and panels.
--Clones are destroyed during layout startup and are automaticaly
recreated. It is suggested to export your layouts through the
official Layouts Editor in order to share them because in that case
clones are not included in the new generated layout file. If in any
case you do not this and you share your layout with any previous
versions then your clones will just appear as separate docks and
panels that belong to specific screens.
--Automatic syncing was introduced in order to keep up-to-date
the configuration of Original docks and panels with their referenced
Clones.
--Automatic syncing currently works for all docks and panels settings,
for all normal applets configurations and for all subcontaiments
configuration such as systrays.
--Automatic syncing does not work for applets inside subcontainments
such as Group Plasmoid. In such case it is suggested to configure
your applets inside your Group Plasmoid in the original dock or panel
and afterwards to trigger a recreation for the relevant clones
--Manual recreation of clones is easily possible by just choosing
the dock or panel to be OnPrimary or OnSpecificScreen and rechoosing
afterwards the AllScreensGroup or AllSecondaryScreensGroup
--This new approach paints all docks and panels during
starup offscreen. This way especially under x11 not a lot of
visual glitches are appearing all over the place.
After startup time has ended docks and panels are
moved at their original and valid placement and slide in
animations are triggered.
--fix how CanBeAboveFullscreen windows option can be
enabled/disabled properly and work correctly
--fix how Blur is handled for docks and panels that
can be AboveFullScreenWindows under X11. Blur is now
working correctly for them but of course GtkFrameExtents
do not work at all because they are intended to work
based on KWin implementation.
BUG:443536
--this way during startup a big thickness is
provided in order for slide-in during startup
to play nicely and give the time to view
its proper thicknesses
--inEditMode is now updated directly from
containment()->inUserConfiguring()
--add again hiding blockers when View gets
into edit mode. That was lost during last commits
because it was part of Visual qml code that
has been moved to another window.
--when hidden configuration windows are deleted memory
consumption is improved and provides much lower values
--when hidden configuration windows are not deleted
memory consumption increases but their responsiveness
for hiding/showing is instantly
--View recreation path was broken from new implementation
for Latte::Interfaces that pass objects to containment
interface. This is now fixed and Interfaces::View object is updated
and broadcasted correctly when changed
--when GtkFrameExtents are zeroed for behaveAsPlasmaPanels
then it is better to recreate the view to avoid freezes and
hidings of the view because of compositor strange behavior
--use a single slot when View triggers its workarounds
for the kwin issue that kwin hides panels when an activity
stops. In such case the view shadows are also redrawn.