1
0
mirror of https://github.com/KDE/latte-dock.git synced 2025-01-03 09:17:50 +03:00
Commit Graph

26 Commits

Author SHA1 Message Date
Michail Vourlakos
b1d57051c2 wayland:support Plasma primaryscreen protocol
--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
2022-05-09 20:35:45 +03:00
Michail Vourlakos
60095bba3b fix #96,FEATURE:AllScreens and AllSecondaryScreens
--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
2022-01-16 13:38:13 +02:00
Michail Vourlakos
ca83433ce0 multiscreen:disable struts under x11 when overlap
--when multiple screens placement have edges that overlap
with each other, at that edges struts must be disabled
to provide much better windows behavior. For example when
dragging a window between such screens and there is
an AlwaysVisible panel or dock between them.

BUG:445595
FIXED-IN:0.10.5
2021-12-12 14:39:46 +02:00
Michail Vourlakos
45825996d4 screensdialog:add screens removal functionality 2021-06-06 08:57:30 +03:00
Alexander Lohnau
505379ed04 Use spdx syntax for all files 2021-05-27 15:01:00 +00:00
Michail Vourlakos
b29a8fa9b3 provide screens options in views dialog 2021-04-04 12:25:20 +03:00
Michail Vourlakos
e7eeb4f9fd introduce ViewData and FIRSTSCREENID 2021-03-20 18:57:28 +02:00
Michail Vourlakos
c70ffb5b92 automatic update screen geometries in screen pool 2021-02-17 15:12:27 +02:00
Michail Vourlakos
a01c18a551 update geometrics for screenpool records 2021-02-17 14:20:44 +02:00
Michail Vourlakos
ad0f9901b7 provide single screens data table 2021-02-17 13:37:02 +02:00
Michail Vourlakos
41ebee5a71 update screenpool api 2021-02-17 12:24:36 +02:00
Michail Vourlakos
864a3520f2 remove no needed primary connector logic 2021-02-17 12:14:46 +02:00
Michail Vourlakos
42757668cf provide specific screen data structure 2021-02-17 12:02:52 +02:00
Michail Vourlakos
7954a3ac39 improve Screens Report
--the new report identifies for all your layouts
when a screen has not been assigned any docks/panels.
That can help user to clean up the ScreensConnectors
if wants to
2019-07-14 13:59:02 +03:00
Michail Vourlakos
dcfcc1b442 show screens information through Settings menu 2019-07-13 17:08:00 +03:00
Michail Vourlakos
cf0f22b44d fix crash,protect connector() calls
--connector calls must be done only when we
are sure that a screen id has already been
assigned

BUG: 407128
2019-05-01 18:52:03 +03:00
Michail Vourlakos
2099b8ed36 add headers comments for all c++ files 2018-12-02 02:05:52 +02:00
Michail Vourlakos
03b469eff5 IMPORTANT: Update multi-screen codepage!!!
--after v0.8 release many issues with multi-architecture
were identified. An alternative approach was needed
in order for Latte to get a more user-predictable state.
In new approach:
--onPrimary docks have always higher value
and should be shown, this is also like how plasma is
moving its panels.
--explicit docks are removed if their edge in their screen
is occupied by an onPrimary dock
--be stupid smart in order to check if docks contain
tasks and try to not remove them based on screen-changes
is removed! Over-Complicated code that doesnt help
in maintainability...

one of the issues was reported at following bug report...

BUG: 396806
2018-07-24 22:25:19 +03:00
Michail Vourlakos
6efeaa7d51 update code to new astyle conditions 2018-07-03 22:15:45 +03:00
Michail Vourlakos
acb77c6cd4 update header files and move files around 2018-02-03 11:37:09 +02:00
Michail Vourlakos
dd8c8271b6 IMPORTANT: move logic from corona to layout
--refactoring code for #808...
Latte gets prepared for multiple layouts running
at the same time.
2018-01-08 19:23:53 +02:00
Michail Vourlakos
67d1f1d4f9 fix #565,full dynamic reload the layout
--the new layout is loaded without closing
Latte and with properly loading globalSettings
and screen from the layout file. The layout
new files are updated when Latte is closing
2017-06-30 11:41:17 +03:00
Michail Vourlakos
97b3c4f854 update algorithms for docksCount,freeEdges
--the new algorithms are using QScreen* values
from dockviews instead of the containment screen()
which can not be trusted at the first minutes
of a dock creation
2017-06-11 23:55:34 +03:00
Johan Smith Agudelo Rodriguez
5226b6adce code formatted 2017-03-12 15:15:06 -05:00
Michail Vourlakos
9259a28cde improvements to add/remove docks on screen demand 2017-02-27 01:20:29 +02:00
Michail Vourlakos
d4da25e2e6 add a screen pool for multi-screens 2017-02-27 01:18:27 +02:00