Commit Graph

32 Commits (f508c359bd07d1744391df8a86aa2ec008e7af65)

Author SHA1 Message Date
Michail Vourlakos c7bb46b217 introduce new MultipleLayouts mechanism
--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
3 years ago
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
3 years ago
Michail Vourlakos bce0d74e5f multiple:do not update borderless when no needed
--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.
3 years ago
Michail Vourlakos e88aaf27a9 cmd:support "add-dock" through command line
-- "add-dock" option now works even when application
is not running and the user is executing it through
command line.

BUG: 446526
FIXED-IN: 0.10.5
3 years ago
Alexander Lohnau 505379ed04 Use spdx syntax for all files 4 years ago
Michail Vourlakos 8e9de84e01 contextmenu:expose layouts icon data 4 years ago
Michail Vourlakos 050b454b5a support screen changes for offline containments 4 years ago
Michail Vourlakos 22fa4c8fc8 rename property single active layout
--renaming active layout in single mode is a little
tricky in order to not leave any deprecated data behind.
Successful steps would be:
1. unload current single layout
2. load new single layout for the new file
3. remove deprecated layout file after new file loaded correctly
4 years ago
Michail Vourlakos 7c542e6246 update layouts activities when activity is removed 5 years ago
Michail Vourlakos 8448f36ed9 check layout valid activities 5 years ago
Michail Vourlakos a83d26a35b multiple:make switch funtion work properly
--when the user requests a specific layout in Multiple
Layout mode the new approach is the following. If
the layout has assigned activities this is respected
but if its activities are empty that layout is assigned
only on the current activity and any other layouts assigned
explicitly to that activity are released
5 years ago
Michail Vourlakos eb627dd070 multiple mode:animate properly layouts unloading 5 years ago
Michail Vourlakos 41c2e2b033 refactor:improve Synchronizer:swithToLayout
--the new approach is much clearer and easy to
read that the deprecated one
5 years ago
Michail Vourlakos d8f1f7e4b9 refactor:settings layouts controller
--the controller does not need to host its own
CentralLayouts any more. It retrieves original
data for Synchronizer, updates layouts accordingly
and sends back to Synchronizer all the updated
layouts data
5 years ago
Michail Vourlakos d5e83280d2 refactor:simplify layout data access 5 years ago
Michail Vourlakos 7393ac02eb drop currentLayoutName as signal from synchronizer 5 years ago
Michail Vourlakos a9774ff13f update Switch button in Layouts table 5 years ago
Michail Vourlakos 0ee31eead6 update kwin disabled borders infrastructure 5 years ago
Michail Vourlakos 3689cc406d retrieve available screen space through activityid 5 years ago
Michail Vourlakos 9026f931fd fixes for corona available areas calcs 5 years ago
Michail Vourlakos 2e120f9446 make Multiple mode work correctly 5 years ago
Michail Vourlakos caf9bf7b78 REFACTOR:Drop Shared Layouts infrastructure
--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
5 years ago
Michail Vourlakos ba178e534d add missing signals when adding new layout 5 years ago
Michail Vourlakos 50c419d4e4 upgrade importDefaultLayout codepaths
--use Templates::Manger in order to import
default layout on startup
5 years ago
Michail Vourlakos 0ff8f2b74f force plasmageometries updates for activitieschange 5 years ago
Michail Vourlakos 748ca87bb8 simplify code for switch button-single layout 5 years ago
Michail Vourlakos 00e6fbba5b update synchronizer semantics to freeactivities 5 years ago
Michail Vourlakos b71baccc14 fix screenForContainment in MulitpleShared mode 6 years ago
Michail Vourlakos 3a3823add3 Assign/Remove properly Shares from INACTIVE Centrals 6 years ago
Michail Vourlakos a661fbb032 refactor:drop LAYOUTSMANAGER apis moved to SYNCHER 6 years ago
Michail Vourlakos bea8247b84 refactor:move syncActiveShares to Synchronizer 6 years ago
Michail Vourlakos c4b226def5 REFACTOR:Add Synchronizer for Layouts::Manager
--Split the Layouts::Manager to Synchronizer and
Manager classes. The Synchronizer is responsible
to keep all Active layouts in sync with user
preferences
6 years ago