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

442 Commits

Author SHA1 Message Date
Michail Vourlakos
91b345e615 make indicators infrastructure smarter
--indicators are now tracked only based on their
installation path, that means that are updated
more precise when changes are applied and
at the same time views are recreated only when
the show the specific indicator that was changed
2019-12-31 15:49:53 +02:00
Michail Vourlakos
3108a73533 fixed compile with qt 5.9
FIXED-IN:0.9.7
BUG:415715
2019-12-30 23:57:14 +02:00
Michail Vourlakos
79705e9753 option to disable creenEdgeMargin for maximized
--improved settings for Floating windows in Behavior
tab and add a new option to hide ALL screen gaps meaning
both length screen and thickness screen gap when there
is a maximized window in the screen

BUG:415630
2019-12-29 14:09:37 +02:00
Michail Vourlakos
f6b8ed139d update PanelShadows to upstream code 2019-12-29 11:55:14 +02:00
Michail Vourlakos
70cb2f7fde new View::availableScreenRectChangedFrom triggers
--following the new design applied first at
View:availableScreenRegionChangedFrom instead of different
View parts to trigger directly m_corona relevant signal,
all View parts are triggering the View relevant signal
and as such the can be disabled all together
easily.
2019-12-28 14:07:57 +02:00
Michail Vourlakos
e5cab93fdb set minimumLength for ScreenEdgeGhostWindow
--set a minimumLength in order to avoid the indicator
to become TOO SMALL and not noticable. The minimum
length has been set to be 25% of the screen edge length
that the view as attached.
2019-12-27 19:41:05 +02:00
Michail Vourlakos
ccbf2c88fd crash fix:from unloading views
--when as Always Visible view was unloaded from
a CentralLayout because its Activity was closing
it was creating a crash. This patch fixes the
situation by releasing sensitive view signals
earlier.
2019-12-27 19:14:31 +02:00
Michail Vourlakos
f93bec8893 fixes for WindowsCanCover
--show immediately when view contains mouse
--hide only if view does not contain mouse
--never apply ByPassWM hint for WindowsCanCover
2019-12-27 14:20:31 +02:00
Michail Vourlakos
4cf929ea81 support containsMouse behavior for WindowsCanCover 2019-12-27 13:38:22 +02:00
Michail Vourlakos
dfd8bcdeca wayland improvements for WindowsAlwaysCover 2019-12-26 23:57:32 +02:00
Michail Vourlakos
c88329d278 x11:improve experience for Windows Always Cover
--simplify also some parts from windows calling window
manager values
2019-12-26 21:58:21 +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
3554c4a006 improve some functionality used 2019-12-26 17:25:56 +02:00
Michail Vourlakos
72777d18c1 add functionality to latte window manager
--the Latte window manager has gained now
functions in order to set the window flags
properly and to update KeepAbove/KeepBelow
flags for windows
2019-12-26 16:53:37 +02:00
Michail Vourlakos
896afcc068 support screen edge margin for behaveAsPlasmaPanel 2019-12-24 20:35:48 +02:00
Michail Vourlakos
0ebef42513 add screenEdgeMargin and update border accordingly 2019-12-24 12:35:28 +02:00
Michail Vourlakos
d31d7afb9d dont wait for dock to show for activate shortcuts
--when the application launcher is not a popup then
we do not have to wait for the dock show we can execute
the activation code immediately
--when Latte activates an entry can now understand
if a popup is going to be shown in order to delay
the execution. If a popup is NOT going to show either
for a latte task or an applet then the code is executed
immediately

BUG:415417
FIXED-IN:0.9.6
2019-12-21 23:37:52 +02:00
Michail Vourlakos
111254e509 refactor:move qml handling from globalshortcuts
--all the qml handling code from globalshortcuts is
now moved to Latte::View::ContaimentInterface. This
way the code is cleaner and can be expanded easier.
2019-12-21 23:37:41 +02:00
Michail Vourlakos
fac638c156 remove obsolete fontmetrics libraries 2019-09-29 17:06:48 +03:00
Michail Vourlakos
59712ee129 dont use topleft corner at ghost win hiding mask
--this way the top-left screen corner is always
available even when left or top views are auto-hidden
or dodged
2019-09-08 11:20:14 +03:00
Michail Vourlakos
c515cd0216 update QRegion deprecated code 2019-09-08 00:09:56 +03:00
Yuri Chornoivan
1aaef7aa2b Fix minor EBN issues 2019-09-02 20:07:53 +03:00
Michail Vourlakos
8cf49b672c remove obsolete draggingStarted signals/slots
--draggingStarted signals/slots were used in order
to handle the active window dragging from empty areas.
The new approach ungrabs the mouse properly through
View relevant function and at the same time sends a
QEvent::Leave event to inform applets that the mouse
has left the view. This is enough in order to remove
any older draggingStarted workarounds and hacks.
2019-08-26 16:35:03 +03:00
Michail Vourlakos
057edb87f1 send QEvent::Leave for view when dragging started
--this way the applets in the view will be informed for
mouse exited the view window
2019-08-26 16:34:51 +03:00
Yuri Chornoivan
3a60d6f3b2 Fix minor EBN issues 2019-08-18 19:59:09 +03:00
Yuri Chornoivan
3f6d688dfe Try to fix build with Clang 2019-08-18 12:57:06 +03:00
Michail Vourlakos
f7d968ff6d update struts when normalThickness value changes
--the issue was pretty obvious when the user was
using a top view with thickness < 24px. and a
bottom view always visible. In that case the top
view struts on startup did not decrease below
at 24px.

BUG:410707
2019-08-08 09:51:11 +03:00
Michail Vourlakos
b078765d5c improve smartness for Unity case layout
--when a vertical view is in busy state and is touching
also a horizontal view that is fully transparent in
SMART mode then the visual result is not that good.
In that case it is better to show the view background.
The horizontal view background in that case can provide
three different states:
a) if the panel style for popups is activated then the
horizontal view will follow the plasma original style
b) if NOT [a] and solid background for touching windows
is enabled then solid background will be offered
c) if NOT [a] and NOT [b] then the isBusy state
transparency will be offered
2019-08-03 08:58:24 +03:00
Michail Vourlakos
ab9fbc3727 support touching horizontal view and isbusy
--trying to increase smartness for horizontal
and vertical views. In multiple layouts environment
a view can exist in cases that one or more of
the sided views that is touching it is NOT
transparent, it would be nice for those
cases the top or bottom  view to LOSE also
its transparency in order to not look
inconsistent.
2019-08-03 08:58:13 +03:00
Michail Vourlakos
3afd0eb643 set minimum hide timer interval 50ms
--when hide timer is set below 50ms. there are
cases that does not let the view to be shown after
a containmouse trigerring. By setting a minimum
value for the timer to 50ms this is fixed.

BUG:410370
2019-07-30 18:03:02 +03:00
Michail Vourlakos
18728015e3 fix configview.h reference
BUG:410371
2019-07-29 23:53:27 +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
9c0ff5d2a8 fix drag sensitivity when KWin edges are used 2019-07-16 14:27:17 +03:00
Michail Vourlakos
9a10cd1e26 fix SharedLayout VisibilityManager::isCurrent state
--when KWin edges are used in a SharedLayout then the
all view Layout::isCurrent() function must be used
otherwise the layout is not identified properly as
current based on different layouts per activities
2019-07-16 14:08:47 +03:00
Michail Vourlakos
c94843c9e6 KWin issue #2,hiding windows when activies stopped
--in such case under x11, the winIds of the visible
Latte windows are changed and as such the windows
tracking mechanism becomes broken. The code introduced
tries to track the case the update the WM::ignoredWindows
properly
2019-07-16 14:08:47 +03:00
Michail Vourlakos
c5b1e9bbf5 x11:drop QWindow::setVisible() function
--this function creates irrelevant crashes even
under x11 environment... Dropped in favour of
show()/hide() functions that seem to not create
any issues
2019-07-15 19:39:21 +03:00
Michail Vourlakos
3a465782e1 wayland:improve latte windows id discovering 2019-07-15 19:15:53 +03:00
Michail Vourlakos
1ef328bd3a avoid wayland crashes from QWindow::setVisible 2019-07-15 15:48:36 +03:00
Michail Vourlakos
c85d24ac37 use WM:IgnoredWindows infrastructure for wayland
--improvements for IgnoredWindows infrastructure
all over the relevant classes
2019-07-15 14:53:40 +03:00
Michail Vourlakos
79f392723e wm:support ignored windows
--x11 implementation is in place and wayland
case must be updated accordingly
2019-07-13 14:51:26 +03:00
Michail Vourlakos
dac692bec4 dont block updating hidden state for drag enter 2019-07-10 16:33:14 +03:00
Michail Vourlakos
8033db04d3 increase KWin Ghost window thickness
--this way the KWin Edges ghost window behaves
more accurate and more predictable
2019-07-10 16:24:38 +03:00
Michail Vourlakos
9e9003870b show view immediately for DragEnter
--when the user had activated KWin Edges and the
Show Timer was too high when the View delayed a
lot to show for DragEnter events
2019-07-10 16:23:06 +03:00
Michail Vourlakos
ba6460e919 update indicators runtime
--fixes to signals in ViewParts in order to avoid
crashes. Currently the recreateView approach is used
in order to reload indicators runtime dynamically.
The "View::setSource" approach does not reload the
indicators properly
2019-06-20 17:42:49 +03:00
Michail Vourlakos
85e49d41bf improve view recreation code 2019-06-20 11:21:12 +03:00
Michail Vourlakos
caefba4576 recreate views when indicators update 2019-06-20 10:57:59 +03:00
Michail Vourlakos
a9310a3de3 disable KWin edges for ByPassWMHint
--KWin edges do not support trigerring
above fullscreen windows
2019-06-20 10:25:18 +03:00
Michail Vourlakos
a7abf5d309 update background svg file when plasmatheme changes 2019-06-16 17:44:02 +03:00
Michail Vourlakos
0e96168742 update backgroundContrastEffect mid values
--the previous approach was disabling the background
contrast effect at all times except when the background
opacity was 100%, the new approach considers the background
opacity value and provide mid values to be applied.
That means that 0% background opacity disables the background
constrast visual effect, 100% applies the background contrast
visual effect at its maximum values and in between the mid
values for background contrast effect are applied
2019-06-16 15:31:37 +03:00
Michail Vourlakos
91a9e7c0c5 improvements for effects area and painting 2019-06-15 16:12:15 +03:00
Michail Vourlakos
3c5c59e149 Revert "consider mask thickness for struts"
This reverts commit a4764024db.
2019-06-15 15:43:32 +03:00
Michail Vourlakos
359b120360 Revert "remove workaround for struts gap"
This reverts commit 137cd36547.
2019-06-15 15:43:12 +03:00
Michail Vourlakos
137cd36547 remove workaround for struts gap
--consider always the maskThickness when
settings struts in order to avoid gaps
at all cases
2019-06-15 10:55:38 +03:00
Michail Vourlakos
a4764024db consider mask thickness for struts 2019-06-15 09:59:08 +03:00
Michail Vourlakos
1051372e04 expose to qml builtin activity/vds switching
--tested that this fixes also the Latte crash
on exit as PagerModel is not used any more in
Latte internal code
2019-06-10 17:49:21 +03:00
Michail Vourlakos
29bbba1730 improve View::currentScreenWindowsTracking 2019-06-09 02:51:00 +03:00
Michail Vourlakos
ef3db56ce7 fix Tracker::AllScreens init signaling on startup 2019-06-09 02:33:01 +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
4cc4bfd6de REFACTOR WindowsTracker to provide more information
--View::WindowsTracker now provides all the time
information about CurrentScreen and AllScreens!
This way all consumers (Latte::Containment, Applets etc.)
can choose whatever suits them best.
2019-06-08 17:36:14 +03:00
Michail Vourlakos
7deef41015 move View::WindowsTracker to own directory 2019-06-08 16:20:43 +03:00
Michail Vourlakos
96c081e076 remove View from TrackedGeneralInfo 2019-06-08 11:12:25 +03:00
Michail Vourlakos
c2bfda46d3 make WindowsTracking activity filtering accurate 2019-06-08 01:38:27 +03:00
Michail Vourlakos
c0e3004717 add LastActiveWindow debug records
--in DebugWindow
2019-06-04 20:08:30 +03:00
Michail Vourlakos
e5673a9cfa fix type for DodgeMaximized 2019-06-03 19:20:06 +03:00
Michail Vourlakos
3f3560aab5 update dodgeAllWindows on startup properly 2019-06-03 19:16:48 +03:00
Michail Vourlakos
2c33ad52b6 support file paths for Indicator::Resource::svgs 2019-06-03 19:09:08 +03:00
Michail Vourlakos
149812080f move View/Indicator in its own directory 2019-06-03 18:36:45 +03:00
Michail Vourlakos
f75605d78d introduce Resources for Indicators 2019-06-03 18:31:42 +03:00
Michail Vourlakos
342d4a1a00 move window funcionality to lastactivewindow 2019-06-01 10:55:03 +03:00
Michail Vourlakos
53d24fe2c6 forward LastActiveWindow to QML 2019-05-31 19:12:34 +03:00
Michail Vourlakos
dbed45b2c7 introduce TrackedInfo and LastActiveWindow 2019-05-31 16:58:42 +03:00
Michail Vourlakos
99ec9cb2fd move WM:Trackers in its own directory 2019-05-31 14:52:16 +03:00
Michail Vourlakos
b251ea7b8e protect visibility destructor
--this protects a crash when closing Latte
immediately after startup
2019-05-27 10:57:16 +03:00
Michail Vourlakos
7cd3b6201d remember the last created ConfigView per layout 2019-05-25 17:40:29 +03:00
Michail Vourlakos
beb0100644 fix some applets animations flickerring
--especially when the user drags something over
the Latte::View and afterwards drops it
2019-05-25 14:46:19 +03:00
Michail Vourlakos
86e645c720 position properly dropped applets and urls in view 2019-05-17 21:49:31 +03:00
Michail Vourlakos
1ef4de0da8 VASTLY IMPROVE dragging experience
--when dragging a new applet over the view
the responsiveness is now improved vastly
--the new architecture uses two different
DragAndDropAreas. One which is the old one
and is used when dragged launchers, urls and
separators. The second is used only when
applets are dragged into the view
--the visuals for adding launchers/applets have
been improved and a circular visual is preferred
now instead
2019-05-17 21:28:39 +03:00
Michail Vourlakos
3789f3c178 improve adding applets through dragging responsive
--fix all events identifications from DragMove and
DragExit etc. in containment::qml part and all drags
flags are calculated only at DragEnter! This fixes
the DragMove signaling and all DragMove signals are
sent correctly.
It needs to be fixed also for Tasks plasmoid because
every time the mouse hovers the Tasks Plasmoid then
the DragMove signals are NOT SENT as they should.
2019-05-16 23:20:51 +03:00
Michail Vourlakos
ffced101e1 apply visibilitymanager::struts when are needed 2019-05-14 17:56:22 +03:00
Michail Vourlakos
f63a0ad658 update/improve hack part of screenghostwindow
--related to KWin faulty behavior for visibility
2019-05-14 17:40:44 +03:00
Michail Vourlakos
ebeabb1033 increase View::timers kwin hack 2019-05-14 17:12:36 +03:00
Michail Vourlakos
a5168c3a2a REFACTOR:Introduce WM:WindowsTracker
--this is a single and very important class
that handles all windows tracking and management
for ALL VIEWS at ALL ACTIVE LAYOUTS
2019-05-11 21:19:28 +03:00
Michail Vourlakos
945c6e50e2 remove deprecated m_views from AbstractWMInterface 2019-05-11 16:12:03 +03:00
Michail Vourlakos
a295352514 limit WM::setViewExtraFlags calls 2019-05-11 16:06:53 +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
a6b8fbcaff consider view::hidden state after slide-out 2019-05-11 09:08:18 +03:00
Michail Vourlakos
c6cd3f4685 move layout connections in the view
--any view and view::containment() signals that
are related to layout are now moved in the
View::setLayout() in order to be reinitialized
properly when the view changes to another
layout
2019-05-09 23:45:52 +03:00
Michail Vourlakos
6248a0ccae refactor:move schemecolors under "wm" folder 2019-05-09 18:12:46 +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
29157f4636 refactor:rename managedLayout to layout/viewLayout 2019-05-09 00:13:17 +03:00
Michail Vourlakos
f43d1b56c7 fix crash concerning WORKAROUND for KWIN
--KWin hides some Views without reason when
Activities are closed under Multiple mode.
This crash fixes these kind of crashes.
2019-05-08 21:48:36 +03:00
Michail Vourlakos
1f14405e63 REFACTOR: rename Active TO -> CENTRALLAYOUT 2019-05-08 21:48:34 +03:00
Michail Vourlakos
d945c89713 update struts when needed after their removal
--improve also when struts are applied under a
Multiple Mode and Multiple Activities
2019-05-03 02:39:21 +03:00
Michail Vourlakos
913c35523f move views between Active/SharedLayouts
--the move to layout option under View Settings
window now can enable the user to move view
between Active and Shared Layouts
2019-05-02 15:57:42 +03:00
Michail Vourlakos
c38e3016de update hidden state after slide-in
BUG: 406415
2019-05-02 00:10:29 +03:00
Michail Vourlakos
5cf047dcc5 clear publishedStruts for visibility modes changes 2019-05-01 23:26:56 +03:00
Michail Vourlakos
06b92024ba remove no needed debug message 2019-05-01 23:21:11 +03:00
Michail Vourlakos
bb3e82024e simplify valid struts calculations 2019-05-01 23:04:39 +03:00
Michail Vourlakos
a472ef34f3 fix ident in visibilitymanager
--AlwaysVisible signals to update struts
are always enabled independent of Single/Multiple
mode but for Single mode they are just ignored
2019-05-01 21:31:33 +03:00
Michail Vourlakos
d8cc85dd4a fix assert for visibilitymanager
BUG: 407131
2019-05-01 20:19:39 +03:00
Michail Vourlakos
5fbdf19b78 fixes for edit mode 2019-05-01 17:39:52 +03:00
Michail Vourlakos
854840b8fc fixes for style and naming
--for visibilitymanager class
2019-04-23 10:55:27 +03:00
Michail Vourlakos
417f992831 move intersect function to WindowsTracker 2019-04-23 10:55:27 +03:00
Michail Vourlakos
dab796e253 improvements for visibilitymanager code 2019-04-23 10:55:27 +03:00
Michail Vourlakos
a2566d1414 move dodgeAllWindows to windowtracker 2019-04-23 10:55:27 +03:00
Michail Vourlakos
e1d44bc157 simplify code in windowstracker 2019-04-23 10:55:26 +03:00
Michail Vourlakos
9ce7ba35bb simplify mouse signals from Latte::Views 2019-04-17 20:17:28 +03:00
Michail Vourlakos
499c4eb1d1 update !compositing panelbackground used until now
--following plasma approach and use always
even for !compositing mode the widgets/panel-background
svg file. This way when Latte and Plasma panels are
combined there is uniformity between them.

BUG: 406597
2019-04-16 23:55:39 +03:00
Michail Vourlakos
ce55c632c6 reduce crashes for view config windows in wayland 2019-04-16 23:55:38 +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
2be8ba0b06 position correctly vertical views
--use the way horizontal views are positioned
in order to fix vertical views positioning both
for docks and panels
2019-04-15 21:13:16 +03:00
Michail Vourlakos
67a4a4ab14 remove deprecated options
--reversed, dotsOnActive and
threeColors that were related
to Latte indicator
2019-04-13 20:37:44 +03:00
Michail Vourlakos
710c527cb7 update Latte indicator
--introduce its own reversed option
--support flexible layout for its
config ui
2019-04-13 20:09:18 +03:00
Michail Vourlakos
d95d861b64 add new options to indicators interface
--providesHoveredAnimation, in order to disable
the Latte one
--providesClickedAnimation, in order to disable
the Latte one
--needsMouseEventCoordinates, in order to know
when the mouse pressed e.g. creating animations
like the android way
2019-04-13 00:46:31 +03:00
Michail Vourlakos
20a57f3c15 improve edge changing animation 2019-04-12 21:58:19 +03:00
Michail Vourlakos
b35fa94307 reduce availableScreenGeometry calls 2019-04-12 18:55:45 +03:00
Michail Vourlakos
db6a4e9d0d make struts and Always Visible lighter
--support them also in Live Editing
2019-04-11 22:24:45 +03:00
Michail Vourlakos
7e9064eb5e track last active window properly at per view 2019-04-11 20:04:22 +03:00
Michail Vourlakos
f33cd25ff5 update mask when secconfigwindow is destroyed 2019-04-11 16:58:18 +03:00
Michail Vourlakos
7ec1f6b928 support kde_frameworks<=47 for settings windows
BUG: 406436
2019-04-11 16:42:44 +03:00
Michail Vourlakos
d5b294b88e improve vastly Justify Live Editing experience
--the entire Justify to Another alignment experience
has been improved a lot and made much smoother than
in the past
2019-04-10 21:55:40 +03:00
Michail Vourlakos
0b07b58abc support kdeclarative both <5.45 and >=5.45 2019-04-10 18:10:53 +03:00
Michail Vourlakos
86a7eddba5 restore translations for settings window
BUG: 406114
2019-04-10 02:09:25 +03:00
Michail Vourlakos
7240134ec2 add comments 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
71435d4938 identify Touching windows for Multiple mode
--improve how the available screen geometry is
calculated because in MultipleLayouts mode we can
have different layouts that provide different
available screen geometries
2019-04-09 21:01:50 +03:00
Michail Vourlakos
385b0e0b20 update struts properly for TopLayouts 2019-04-09 21:01:50 +03:00
Michail Vourlakos
dc9553b3ca fix crashes from loading/unloading layouts 2019-04-09 21:01:50 +03:00
Michail Vourlakos
fb4508c6a7 simplify CMakeLists 2019-04-06 22:04:21 +03:00
Michail Vourlakos
2c8a0a83c1 update secondary config window position properly 2019-04-06 19:23:44 +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
ae69884e04 ignore PlasmaDesktop for windows tracking flags
BUG: 406235
2019-04-05 20:52:30 +03:00
Michail Vourlakos
ae3c4d3cf0 update SecondConfigView when availableGeometryChanged 2019-04-05 17:36:46 +03:00
Michail Vourlakos
bb3ef16dea fix RTL positioning for View::Settings windows 2019-04-05 17:31:40 +03:00
Michail Vourlakos
8b3920ef64 fix indicators warnings when removing a view 2019-04-05 17:17:11 +03:00
Michail Vourlakos
6e1dfe9670 comment deprecated code in view settings windows 2019-04-05 17:17:11 +03:00
Michail Vourlakos
c735792c30 REFACTOR:replace all "foreach" statements 2019-04-05 17:17:10 +03:00
Michail Vourlakos
d48d2da2cd add comment 2019-04-05 17:17:10 +03:00
Michail Vourlakos
3e19e553f1 add IndicatorInfo to have a global reference 2019-04-04 22:49:49 +03:00
Michail Vourlakos
915bb1bd39 provide visual limits for margins/padding
--based on the current indicator there minimum
thickness and indicator padding can be altered.
Providing some visual feedback for the user to
understand these limits is a good practice.
2019-04-04 18:38:54 +03:00
Michail Vourlakos
e7eb06a63e optimize subtracked masking for wayland case
--under wayland masking does not break the visual
result of a window. For that reason under wayland
the editShadow can be masked out totally and not
only for its windows underlying parts.
2019-04-03 22:57:01 +03:00
Michail Vourlakos
92584e638c consider vertical views to position viewconfigs 2019-04-03 22:41:03 +03:00
Michail Vourlakos
8b6f250733 dont subtract sec.config win for vertical views 2019-04-03 22:35:27 +03:00
Michail Vourlakos
555fc966b0 activate config windows under wayland environment
--add heuristic method in wayland interface in order to
return the internal id of a window by using its appId
and its geometry
2019-04-01 23:50:25 +03:00
Michail Vourlakos
9f1b284f64 init earlier translation domain, indicatorconfigui 2019-04-01 17:16:40 +03:00
Michail Vourlakos
d280b6e4aa button to remove locally installed indicators 2019-03-31 14:53:12 +03:00
Michail Vourlakos
9b1841e9e3 watch app paths for indicators changes 2019-03-29 21:15:44 +02:00
Michail Vourlakos
ba08038bc0 add Latte/Indicator type and improve metadata 2019-03-29 19:12:32 +02:00
Michail Vourlakos
3d2d399072 add functionality to custom indicators 2019-03-29 00:07:36 +02:00
Michail Vourlakos
81204e3519 support importing indicators from compressed files 2019-03-29 00:07:36 +02:00
Michail Vourlakos
fd74397bae support file dialog for indicators 2019-03-29 00:07:36 +02:00
Michail Vourlakos
4c613a1d47 support last used custom type 2019-03-29 00:07:36 +02:00
Michail Vourlakos
06c965248c support customIndicators interface under settings
--a new element is introduced for CustomIndicators
which is going to be responsible to choose between
them and download also online for new indicators
2019-03-27 21:03:16 +02:00
Michail Vourlakos
28ef36a774 simplify indicators names 2019-03-24 18:44:27 +02:00
Michail Vourlakos
9a464226bd improve loading for indigator config ui
--in order for all indicators infrastructure to
load the plugin correctly the configuration and
the component elements of ViewPart::Indicator
must be loaded first correctly and afterwards
the relevant Indicators to follow
2019-03-24 14:54:46 +02: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
b93588756a fix crash from Close button in config window
BUG: 405772
2019-03-23 11:35:07 +02:00
Michail Vourlakos
0c95180fde identify better active maximized windows
--more specific do not mess maximized windows all
together. Active maximized windows have higher
priority than all the rest normal maximized
windows.
2019-03-19 21:20:16 +02:00
Michail Vourlakos
9afafcc7c2 disable panel shadows only when active maximized 2019-03-17 02:23:35 +02:00
Michail Vourlakos
15d5ac59ec improve calculations for vertical settings windows 2019-03-14 14:43:18 +02:00
Michail Vourlakos
48a5a4690e decrease edge ghost window sensitivity for mouse
--this patch fixes the show timer delayer in combination
with KWin edges activation even more. The experience
now looks almost identical to NONE-KWin edge activation
2019-03-11 16:09:50 +02:00
Michail Vourlakos
cab2055279 adjust secondary config win to new design
--secondary config window now follows the primary
config window design. Config windows now are just
simple windows !AboveAll and are activated from
Latte::View on demand. This way we can now have
demonstration of the parabolic effect during
editMode at all times
2019-03-09 23:08:24 +02:00
Michail Vourlakos
1dba8d1841 block requestActivate() for wayland
--requestActivate is not supported under wayland
2019-03-09 20:19:26 +02:00
Michail Vourlakos
e9e0c04198 fix wayland crash when hiding config window 2019-03-09 19:56:57 +02:00
Michail Vourlakos
c35849c9d8 take care config windows for X11 environment
--make the config windows to not show in pager,
switcher or taskbar under X11 environment
2019-03-09 19:49:18 +02:00
Michail Vourlakos
0816e2b8aa fix top masking during editMode
--improve also identifying when subtracting
edit mode mask is needed
2019-03-09 18:37:49 +02:00
Michail Vourlakos
11226428c6 update config window availScreenGeometry properly 2019-03-09 15:58:16 +02:00
Michail Vourlakos
fabf6f44d2 show configuration windows only for one view
-- for each layout only one dock should show its configuration windows
otherwise we could reach a point that because a settings window
is below another Latte View its options are not reachable
2019-03-09 14:24:52 +02:00
Michail Vourlakos
94415e24b4 improve config windows calculated geometries 2019-03-09 12:23:51 +02:00
Michail Vourlakos
89fd411dab improve how config window size is calculated 2019-03-09 11:50:17 +02:00
Michail Vourlakos
83b5b2323a fix calculations for left subtracked mask 2019-03-09 11:50:16 +02:00
Michail Vourlakos
002d683dd9 fix calculations for left subtracked mask 2019-03-09 00:11:39 +02:00
Michail Vourlakos
736d068a44 improve masking for config windows
--now config windows are masked properly in order to
accessible to all of their areas. By design the config
windows are trying to be below the main view, this is
why masking is needed in order to work properly and not
having areas that can not be clicked/accessed because
of the top Latte View
2019-03-08 23:43:08 +02:00
Michail Vourlakos
37ca5f1663 restore config windows behavior to previous state
--approach the problem of showing parabolic effect properly
during edit mode in a different way. The Latte View now
on Enter event raises itself
2019-03-08 19:02:14 +02:00
Michail Vourlakos
3ac5ebffeb fix focusOut behavior for config windows 2019-03-08 16:14:34 +02:00
Michail Vourlakos
366f2783f2 improve config windows activation
--when the mouse enters the main latte view,
the primary and secondary config windows should
be activated. This patch improves how this is
handled in order to not mess up the focusOut
even handling from config windows. The config
windows do not race now in order to identify
if all the config windows has lost focus.
2019-03-08 15:41:45 +02:00
Michail Vourlakos
e4254ed8c7 activate config windows whenever mouse enters view 2019-03-07 18:15:04 +02:00
Michail Vourlakos
b2184579ad remove StaysOnTop hint for settings windows 2019-03-07 17:58:27 +02:00
Michail Vourlakos
542174f296 make edit visual totally dynamic
--meaning that edit Visual can contain more
elements than just the usual ones and as such
we can now add a "Rearrangement" option to make
things easier to switch between live/static editing
2019-03-06 20:19:17 +02:00
Michail Vourlakos
71bb4ca921 introduce new editAppletsMode
--in this mode all aplets can be adjusted and
repositioned properly
2019-03-05 14:26:35 +02:00
Michail Vourlakos
b15df34cc4 livemode:enable parabolic effect for editMode
--first commit to restructure editMode in order to
support livemode under editing. Live mode means
that all options changes during editMode will be
available to be tested directly
2019-03-04 19:42:01 +02:00
Michail Vourlakos
cec96aaf19 fix !compositing masking for views 2019-03-04 19:35:41 +02:00
Michail Vourlakos
9bdd58ee3f restore Show Timer behavior for KWin Edges 2019-02-24 19:09:48 +02:00
Michail Vourlakos
35c9550963 make sure maximized window is touching the view
--Disable the hack for kwin effects because it has many
false results. e.g. when a window is maximized and
Latte or Plasma are showing their View settings
2019-02-24 08:51:21 +02:00
Michail Vourlakos
903988ff71 identify correctly touching flags with kwin effects
-- KWin Effects such as ShowDesktop have no way to be identified and as such
create issues with identifying properly touching and maximized windows. BUT when
they are enabled then NO ACTIVE window is found. This is a way to identify these
effects trigerring and disable the touch flags.

BUG: 404483
2019-02-23 22:50:23 +02:00
Michail Vourlakos
f040cc8828 plenty improvements for touching/active state flags
--fixes and improvements to identify windows that are
touching or are active and how all of them are used
in order to color properly the view
2019-02-23 21:19:59 +02:00
Michail Vourlakos
17c602347b use touching windows scheme at all cases
BUG: 404745
2019-02-23 20:51:24 +02:00
Michail Vourlakos
507e7ffde8 expose existsActiveWindow from windowstracker 2019-02-16 11:38:11 +02:00
Michail Vourlakos
7772ee2855 add Type property for Latte::View
Summary:
--this way any part interested to know the
real type of Latte::View it can access the
all new type() property

Test Plan:
test view settings that indicate correctly
the panel/dock type

Reviewers: trmdi, #latte_dock

Reviewed By: trmdi

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D18926
2019-02-11 19:45:05 +02:00
Michail Vourlakos
031e19a8ab expose activeWindowScheme through windowTracker 2019-02-07 20:45:56 +02:00
Michail Vourlakos
9263b3e890 improvements for window tracker 2019-02-07 20:34:07 +02:00
Michail Vourlakos
1e65211277 DodgeAllWindows now uses WindowsTracker
--this way we use the same code for Dynamic
Background and DodgeAllWindows
2019-02-07 20:24:52 +02:00
Michail Vourlakos
9b9072d8f6 update qml code to follow windowTracker 2019-02-07 19:32:29 +02:00
Michail Vourlakos
78096b4181 refactor:move window functions to its own class
--all windows related functions present at visibility
manager are moved at their own class WindowsTracker
2019-02-07 19:15:25 +02:00
Michail Vourlakos
5db22022c1 refactor:cleanup globalshortcuts
--move out from globalshortcuts functions that were
related to latte views functions such as sorting,
highest priority etc. All these were moved to their
appropriate places in layout manager or layout classes
2019-02-07 09:38:01 +02:00
Tranter Madi
fede9feb2d improvements for global shortcuts
Summary: BUG: 403880

Reviewers: mvourlakos

Reviewed By: mvourlakos

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D18717
2019-02-06 18:17:32 +02:00
Michail Vourlakos
cf93b7516d improve global shortcuts options
--the user can disable "global shortcuts based
on position" by disabling the global shortcuts
for the first two latte items
--improve texts readability

BUG: 403880
2019-02-03 09:55:01 +02:00
Michail Vourlakos
50dc45c61f fix headers references for classes 2019-02-03 01:48:37 +02:00
Michail Vourlakos
d53c2cbea3 fix indents / text appearance 2019-02-03 01:36:39 +02:00
Michail Vourlakos
668c2ff139 dont close view settings when Alternatives shown
--this way the user can also choose different Alternatives
without having false applets replacements or Latte failing

BUG: 403658
2019-02-03 01:31:52 +02:00
Michail Vourlakos
b15bd24218 refactor:move shortcutsEngine to its own class
--in that way all environment related shortcuts
management (e.g. plasma related shortcuts) is moved
in its own class
2019-02-03 00:10:07 +02:00
Michail Vourlakos
5416b1c0ef REFACTOR:move layout to its own folder 2019-01-22 18:17:55 +02:00
Michail Vourlakos
130bb32c8e move view config window for advanced mode
--there were cases for small screen resolutions
that because the view settings windows did not
change its height, it was not changing its placement
to the side of the screen
2019-01-20 20:36:35 +02:00
Michail Vourlakos
990b8868cd guard m_parent caller at secconfigview
BUG: 403406
2019-01-19 22:00:27 +02:00
Michail Vourlakos
ad3b5abeaf enhance background solidness when touching window
--When the user has chosen a solid background when
there are windows touching the Latte panel then in
such case windows that are touching the panel not
just at the edge but at the at any point of the latte
panel are also considered as touching windows
--The "snapped" term that was used before in the
visibilitymanager was changed to "touching"
2019-01-19 18:55:19 +02:00
Michail Vourlakos
42f6bef738 dont close settings windows with no reason
--there were cases that the focusOutEvent from
secondary config window was sent before the
primary config window has become active. In that
case all config windows were closing with no
reason

BUG: 402776
2019-01-19 17:22:19 +02:00
Steffen Coenen
56cfb42734 Fix autohide behaviour after dragging a panel
Summary:
Currently, when dragging a window from the panel to move it, it breaks the autohide behaviour of active docks/panels. This change imitates a release event on X11 to circumvent these problems.

BUG: 403104

Reviewers: mvourlakos

Reviewed By: mvourlakos

Subscribers: plasma-devel

Tags: #latte_dock, #plasma

Differential Revision: https://phabricator.kde.org/D18194
2019-01-14 18:50:10 +02:00
Michail Vourlakos
cf6641a089 dont unblock for !editMode
--when containment changes status it was
unblocking the visibility manager. This patch
fixes that situation and the blocker remains
under editMode. This way the dock can not be
hidden when it is in editMode.
2019-01-11 20:09:46 +02:00
Michail Vourlakos
daa4d0f003 recreate view only when is really needed
--recreate view only when the window
ByPass flag must be really changed
2019-01-11 20:08:33 +02:00
Yuri Chornoivan
8d7110f761 Fix minor typos
Summary: Fix minor typos in messages and comments

Test Plan: No major changes to prevent compilation and usage

Reviewers: mvourlakos

Reviewed By: mvourlakos

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D17894
2019-01-02 19:37:43 +02:00
Michail Vourlakos
63e9fbc99f dont block mouse events with no reason
BUG: 402572
2018-12-29 20:20:36 +02:00
Michail Vourlakos
e19cbd46f6 delete secondary window when no needed
BUG: 402627
2018-12-28 17:11:43 +02:00
Michail Vourlakos
ca5ea55816 disable debug message 2018-12-28 16:42:23 +02:00
Michail Vourlakos
5c8a2bb380 reorganize settings in view settings window 2018-12-27 18:59:20 +02:00
Michail Vourlakos
aeb7877546 improve ExpertSettings location 2018-12-27 12:15:25 +02:00
Michail Vourlakos
5d6d1730f2 improve syncGeometry at settings windows 2018-12-26 18:35:58 +02:00
Michail Vourlakos
79ccc37e31 delay latte view showing for Meta global shortcut 2018-12-26 17:53:17 +02:00
Michail Vourlakos
32a34d7c47 show latte view for all cases of Meta+A 2018-12-26 17:33:59 +02:00
Michail Vourlakos
40bd5a83e2 update settings to new complexity level 2018-12-26 00:34:45 +02:00
Michail Vourlakos
7d66434244 introduce complexity for view settings 2018-12-25 23:57:41 +02:00
Michail Vourlakos
5e09a41e99 refactor:remove no needed colorizer signals
--the new infrastructure to track background
brightness does not need communication between
universalsettings and view colorizer enabler
2018-12-25 20:33:47 +02:00
Michail Vourlakos
418799ed30 fix crashes from latteView recreation code
--in order to update window manager flags properly
in some cases a dock recreation is needed. But that
dock recreation when takes place when the user choses
to move its panel between different screens (that recreation
shouldnt be needed) in such case it creates crashes
2018-12-25 19:01:19 +02:00
Michail Vourlakos
e81ef199b3 refactor:drop visibilitymanager private class 2018-12-20 18:59:38 +02:00
Michail Vourlakos
2244cae8bc refactor:move PlasmaThemeExtended to better path 2018-12-13 20:03:14 +02:00
Michail Vourlakos
efb9414ef9 refactor:move plasmaquick headers to better place 2018-12-13 19:51:22 +02:00
Michail Vourlakos
a3107b7f1c dont call syncGeometry if not needed in some case 2018-12-09 02:24:57 +02:00
Michail Vourlakos
fbe07f5ec1 add debug message for syncGeometry() 2018-12-09 02:06:52 +02:00
Michail Vourlakos
b05c7d94ae refactor:add visibilitymanager to ViewPart:: 2018-12-09 00:29:35 +02:00
Michail Vourlakos
57ab5f3b3f refactor:move screenedgewindow to ViewPart:: 2018-12-09 00:15:17 +02:00
Michail Vourlakos
0510293c21 REFACTOR:Move confiView(s) to ViewPart:: namespace 2018-12-09 00:06:14 +02:00
Michail Vourlakos
b2fbb2a7ae REFACTOR:change dock->latteView in settings windows 2018-12-08 18:44:28 +02:00
Michail Vourlakos
f84043d28e REFACTOR:change dock in containment to latteView 2018-12-08 18:35:32 +02:00
Michail Vourlakos
1ab99761a1 REFACTOR:Update Dock types to new Latte2::Types 2018-12-07 18:55:35 +02:00
Michail Vourlakos
462a849ac4 refactor:rename dock terms to view 2018-12-06 16:19:14 +02:00
Michail Vourlakos
f2a90aafe6 refactor:rename dock term to view term 2018-12-06 16:09:42 +02:00
Michail Vourlakos
185dd39e5c refactor:rename dock terms to view terms 2018-12-06 15:57:20 +02:00
Michail Vourlakos
fd23fd83c1 refactor:rename dockWinBehavior to byPassWM flag 2018-12-06 15:34:04 +02:00
Michail Vourlakos
25d9d4ed17 refactor:rename DockCorona to Latte::Corona 2018-12-06 14:35:34 +02:00
Michail Vourlakos
f74b3a4da0 REFACTOR:drop DockView term,in favour of LatteView 2018-12-06 12:51:15 +02:00
Michail Vourlakos
39368a41de REFACTOR:rename DockView to Latte::View
--move all classes related to Latte::View
from dock/ folder to view/ folder
2018-12-06 12:15:58 +02:00