--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
--the new approach does not load/unload layouts
during startup/exit. When the user loads layouts
in multiple layouts mode the layouts are inserted
and when exit they still remain in the hidden
multiple layouts file. These layouts present in the
multiple layouts file from now are called preloaded
layouts.
--the new approach fixes also the wayland exit
issue and in general the message for Latte not
closed properly has been totally dropped.
BUG:448702
BUG:446205
--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
Consider -1 as screen edge margin default value
and not zero. This way when duplicating a default
dock AllBorders are not enabled in the new dock.
BUG:446903
FIXED-IN:0.10.5
--when activating activities under multiple layouts
the currentActivityChanged() signal is sent from
KActivities before the runningActivitiesChanged() and
as such we can end in considering borderless maximized
window flag before all appropriate layouts have been enabled.
The patch adds a timer and delays borderlessMaximized consideration
when currentActivityChanged signal is received.
--introduce enable/disableAutostart from command line
--accept import-layout from command line when latte is already running
--introduce --suggested-layout-name to be used with
import-layout in order to provide a preferred layout name
e.g. latte-dock --import-layout /blah/blah/mywhat.layout.latte
--suggested-layout-name MyAwesomeLayout
--dbus:introduce "setAutostart" function
--dbus:introduce "importLayoutFile" function
BUG:446249
FIXED-IN:0.10.5
--during startup borderless maximized windows should not be
enabled or not as long as kwin has already been configured
in the proper way. This way we make Latte startup lighter
because KWin is not reconfiguring when not needed.
--showing settings dialog too early before layout(s)
are loaded can possible create crashes. Settings dialog
is considering that everything is in place and ready
to be used.
BUG:440731
--in the past a delay was needed in order for
docks panels to slide out nicely, this is not
needed any more because kwin takes responsibility
for this.