--use ScreenPool as reference for primary screen.
The new code uses PrimaryOutputWatcher class from
Plasma Shell in order to keep track of primary
screen at all cases.
BUG:448418
FIXED-IN:0.11.0
--some improvements introduced to 0.10.7 broke the
screen switching codepath for panels. With this
fix users can again move panels around for their
screens
BUG:448569
FIXED-IN:0.10.8
--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
--identify correctly for vertical panels in right edge
when they need to draw or not their top and bottom borders.
This is enough in order to position properly these docks.
BUG:448519
FIXED-IN:0.10.8
--ignore docks and panels for availableScreenRect(s) etc.
when they are in startup and they are painted offscreen
--plasma is not ready to accept availableScreenRegion(s) because
after startup moves desktop widgets to the left even though
it should not
--fix availableScreenRegion calculations for Centered and Justified
docks and panels
--after recreating a view, launchers group is now
assigned again correctly. As it appears the problem
was that Host.MyView ability was sending an isReady
signal that was not accurate enough.
--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.
--last week commit about beautiful slide in/out through
kwin infrastructure broke the wayland placement for
docks and panels. This commit fixes the issue
and at the same time provide beautifule slide in/outs
for docks panels during their creation and removal.
--Move in a simpler layouts approach.
--Single Layout mode loads ONLY ONE Layout for ALL Activities
--Multiple Layouts mode loads any combination of Layouts based
on the following settings:
-- OnAllActivities
-- ForFreeActivities
-- SpecificActivities
--when a behaveAsPlasmaPanel is sliding-in and View
is in editMode, it is a good idea to calle
Positioner::syncGeometry() in order to validate
the View window geometry in edit mode. The problematic
case example was a right SideBar Panel that when
was hidden and the user was using Meta+A to
show its settings, the View did not change its
geometry properly in the end.