--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
--implementation is much more concrete now and we
need to be 1px precise in order to provide good
snapping and dodge visibility modes correctly
--in upcoming commit the view is touched property
will mean without window is touching the view edge.
For view edges touching there will be a different
variable that can be used from containment and
applets.
--dont add length edge margins through offset
for start/endlayouts, much cleaner and visual
pleasing to the eye. the user can always add
spacers if prefers to add padding.
--in configure applets mode when the layouts overlap
with main centered layout then visual feedback is provided to
the user in order to help him understand in which
layout each applet belongs
--applets are now always take into account the splitters
placement and the splitters try to be always in the
center. This is much more predictable and understanble
from the user
--I have managed to solve most of the issues that were
preventing a live demonstration of applets layout
during InConfigureApplets mode... Things are more
intuitive now are updated correctly between different
layout areas... enjoy...