1
0
mirror of https://github.com/KDE/latte-dock.git synced 2024-12-25 09:33:51 +03:00
Commit Graph

67 Commits

Author SHA1 Message Date
Michail Vourlakos
9c57f9db4b introduce AppTypes.MouseSensitivity 2020-04-24 10:08:13 +03:00
Michail Vourlakos
dbee0a81df fix typo in availableScreenRectWithCriteria 2020-04-19 00:59:15 +03:00
Michail Vourlakos
e525596a04 refactor:split Latte Types to Tasks and Types
--move also irrelevant types to their owner. For
example LayoutsPage is moved to Settings::Dialog
namespace
2020-04-18 16:58:00 +03:00
Michail Vourlakos
f9c024095c ignore View real panel movements for desktop space
--when real panel views are slided out either for auto
hiding, dodge case or dynamically removing their screen
margin the desktop available space should not be
changed; it should stay the same.
2020-04-12 13:41:49 +03:00
Michail Vourlakos
df844ed171 drop double reference in corona 2020-03-18 17:39:19 +02:00
Michail Vourlakos
11798211a9 multiple fixes for imports/exports
--import/export full configurations are now
moved to File menu and move out their
implementation from Import/Export layouts
2020-03-18 13:40:42 +02:00
Michail Vourlakos
d1faaedc59 improve availableScreen..WithCriteria api
--improve its semantics in order to be more
understandable
2020-03-07 18:58:05 +02:00
Michail Vourlakos
0b2be421eb IMPORTANT:Multiple docks/panels in same edge
--Latte can now support multiple Views in the same screen
edge. Views as separated in THREE Layers of priorities.
1. Views from Shared Layouts have highest priority and they
are first to occupy a screen edge
2. Views that are set OnPrimary screen occupy a screen edge only
if there is NO other View from a Shared Layout applied already
3. Views that are Explicit to specific screens occupy a screen
edge only if there is NO PRIMARY view already loaded
2020-03-07 18:30:22 +02:00
Michail Vourlakos
719c852c8c update availableScree...WithCriteria functions
--use ignoredModes/Edges instead of accepted ones in order
to make code more readable and easy to understand
2020-03-07 15:36:39 +02:00
Michail Vourlakos
57d1bf1f43 add quit application to contextmenu actions
--easier way for some to quit Latte by just
right clicking on the docks/panels

BUG:417486
2020-03-05 20:09:22 +02:00
Michail Vourlakos
90df4f4f61 support new visibility mode for SideBars
--SideBar views are shown/hide ONLY WHEN the
user has requested to DO SHOW from external
applets, shortcuts and scripts
2020-03-01 18:20:23 +02:00
Michail Vourlakos
d071e3be33 publish available screen geometries to Plasma
--Plasma 5.18 introduced a new dbus interface in order
for external apps to be able to publish to Plasma how
much they occupy from screen space. This is a much
requested feature from users, Latte is now publishing
both its availableScreenRect and availableScreenRegions
and this is also Multiple Layouts aware at runtime.

BUG:391073
2020-02-22 14:30:02 +02:00
Michail Vourlakos
0458d53ec9 Left/RightEdge calculations for availableScrRegion
--preparing the infrastructure calculations in order
to publish to Plasma 5.18 and greater the
availableScreenRectagle and availableScreenRegion
that Latte leaves free in current running
screens.
2020-01-22 21:36:30 +02:00
Michail Vourlakos
266499a485 support dialogs/background for dock settings wins
--use a different shadows manager for dialogs such as
dock settings window through the Latte::Corona class.
The new shadow manager is responsible to draw
"dialogs/background" shadows for windows instead of
the PanelShadows original class which is responsible
to draw "widgets/background" shadows
2020-01-12 23:51:46 +02:00
Michail Vourlakos
8946ded107 improve availableScreenR*WithCriteria functions 2020-01-04 19:21:10 +02:00
Michail Vourlakos
d0aa28a60d dock settings window not overlap plasma panels
--when dock settings window is shown it is good to
NOT overlap with plasma panels. Under X11 this is
possible because the real availableScreenGeometry
is exposed through QScreen.
2020-01-02 11:16:51 +02:00
Michail Vourlakos
d9e18794c8 simplify keepabove/below calling
--start a bit to work with "Windows Always Cover"
visibility mode
2019-12-26 21:10:11 +02:00
Michail Vourlakos
2501c6169d fix compatibility with qt>=5.14
--fix qml register type for deprecated
code reference
2019-12-04 23:04:06 +02:00
Michail Vourlakos
dc0a9a8f22 Import and Load layout runtime through dbus
--switchToLayout dbus interface is used in order to
switch at specific layout that it is already imported.
With this commit the same dbus interface can be used
in order to import and load afterwards any latte layout
file by sending its absolute filepath
2019-10-23 17:07:35 +03:00
Michail Vourlakos
cb9d978558 remove deprecated qApp::screenCountChanged
--use only screenAdded/Removed instead
2019-09-08 00:18:17 +03:00
Michail Vourlakos
b94f87f144 rename trackerwindows to windowstracker
-- in order to distinguish it from the neighbour
tracker classes
2019-07-16 20:58:48 +03:00
Michail Vourlakos
b71baccc14 fix screenForContainment in MulitpleShared mode 2019-06-15 21:38:07 +03:00
Michail Vourlakos
353f7119cc move Tracker::Enabled to View::WindowsTracker
--previously it was found in the consumers of
View::WindowsTracker (CurrentScreenTracker and
AllWindowsTracker)
2019-06-08 18:11:02 +03:00
Michail Vourlakos
c0e3004717 add LastActiveWindow debug records
--in DebugWindow
2019-06-04 20:08:30 +03:00
Michail Vourlakos
53d24fe2c6 forward LastActiveWindow to QML 2019-05-31 19:12:34 +03:00
Michail Vourlakos
99ec9cb2fd move WM:Trackers in its own directory 2019-05-31 14:52:16 +03:00
Michail Vourlakos
a8a19bb550 support VirtualDesktops for kwayland>=5.52
--This of course needs Plasma>=5.15

BUG: 398106
2019-05-26 00:58:42 +03:00
Michail Vourlakos
133c301b65 register SchemeColors as qml metatype 2019-05-12 13:57:45 +03:00
Michail Vourlakos
48d3728005 REFACTOR:Introduce SchemesTracker for WM 2019-05-12 02:17:22 +03:00
Michail Vourlakos
ad788130ab REFACTOR:add WindowSystem namespace 2019-05-11 15:47:22 +03:00
Michail Vourlakos
a661fbb032 refactor:drop LAYOUTSMANAGER apis moved to SYNCHER 2019-05-11 09:51:47 +03:00
Michail Vourlakos
bea8247b84 refactor:move syncActiveShares to Synchronizer 2019-05-11 03:46:06 +03:00
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
2019-05-11 03:11:50 +03:00
Michail Vourlakos
8c3d658a0d refactor:move Importer to "layouts" folder 2019-05-09 17:57:12 +03:00
Michail Vourlakos
d426ecb50f refactor:launcherssignals moved to "layouts" folder 2019-05-09 17:40:53 +03:00
Michail Vourlakos
a27ff3ec48 REFACTOR:Update LayoutManager to Layouts::Manager
--create "layouts" own directory in order to host
all LAYOUTS management/control code and classes
2019-05-09 17:12:57 +03:00
Michail Vourlakos
1f14405e63 REFACTOR: rename Active TO -> CENTRALLAYOUT 2019-05-08 21:48:34 +03:00
Michail Vourlakos
04e7f333c5 dont compute innershadow for available screen area 2019-05-01 23:14:38 +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
6505e8797f send mouse signals from View to containment
--this is side-way path for mouse events and
more specific the mouse pressed, released
events to be sent from parent window to its
qml containment part. This way it is possible
to keep the original plasma applet behavior
such as original plasma tooltips and provide
Latte specific functionality such as animated
clicks from indicators.

NOTE: An investigation - testing took place in
order to check if this approach could be also used
for mouseMove events to be used for applets parabolic
effect. The result was that this was not possible because
there were too many signals and too much calculations
too identify for which applet the signal belonged to.
The parabolic effect was not fluid in that case and
could not catch up.
2019-04-15 22:00:22 +03:00
Michail Vourlakos
b35fa94307 reduce availableScreenGeometry calls 2019-04-12 18:55:45 +03:00
Michail Vourlakos
e2ccad62d9 RENAME TopLayout to SharedLayout
--Shared is a better term to describe these
layouts that can be Shared and be OnTop of
other layouts in Multiple Mode
2019-04-09 21:01:50 +03:00
Michail Vourlakos
0cb2bb38af plenty of fixes for TopLayouts and multi-screen(s) 2019-04-09 21:01:50 +03:00
Michail Vourlakos
6620cf54bd plenty fixes updates for MultipleTopLayouts 2019-04-09 21:01:50 +03:00
Michail Vourlakos
bdca8f58e8 simplify GenericLayout::latteViews call 2019-04-09 21:01:50 +03:00
Michail Vourlakos
bbddfd3d48 REFACTOR:move code from Active to GeneralLayout
--huge refactor in order to split the logic of the
Layout file. One of small steps in order to end at
the following logic:
AbstractLayout->GeneralLayout->InterfacedLayout

InterfacedLayout->NormalLayout
InterfacedLayout->OnTopLayout

PresentedLayout, that will contain references for
one ActiveLayout and one OnTopLayout and will
act as a class to provide useful information to
layoutManager and all other classes that want
to work with Views.

GeneralLayout will gain a storage object
for all STORAGE properties that require
a CORONA to work
2019-04-06 13:55:17 +03:00
Michail Vourlakos
7d0905e379 refactor: rename Layout to ActiveLayout
--first steps to abstract the Layout code in
different classes
2019-04-06 13:55:17 +03:00
Michail Vourlakos
c735792c30 REFACTOR:replace all "foreach" statements 2019-04-05 17:17:10 +03:00
Michail Vourlakos
0b90411b1d IMPORTANT: All new Indicators architecture
--this huge commit contains all the changes needed
in order for Latte to load Indicators dynamically
from their own packages
2019-03-24 12:17:29 +02:00
Michail Vourlakos
15d5ac59ec improve calculations for vertical settings windows 2019-03-14 14:43:18 +02:00