1
0
mirror of https://github.com/KDE/latte-dock.git synced 2025-01-27 22:04:01 +03:00

80 Commits

Author SHA1 Message Date
Michail Vourlakos
7fd56aebfb compute editThickness in View c++ level 2020-07-07 18:20:47 +03:00
Michail Vourlakos
37248789f6 improvements to view config windows abstraction 2020-07-06 14:35:03 +03:00
Michail Vourlakos
91449e06f0 remove option delete hidden config windows
--it is not needed any more because config windows
are now using a singleton design in order to be
created only one time.

BUG:423268
2020-07-04 15:58:10 +03:00
Michail Vourlakos
d01d1f60a4 use primary config single instance for all views 2020-07-03 14:24:43 +03:00
Michail Vourlakos
6c2dcfbab8 drop Plasma::ConfigView for View primary window
--this is a step forward in order for all Views to
use the same Config Windows which is more memory
efficient.
2020-07-03 14:24:43 +03:00
Michail Vourlakos
cb368c504d drop old Tasks identification code paths 2020-05-18 20:02:30 +03:00
Michail Vourlakos
46760a04de cycle properly config views with Meta+A 2020-05-16 17:06:19 +03:00
Michail Vourlakos
d6fc66a7a3 user option for hiddenConfigWindowsAreDeleted
--when hidden configuration windows are deleted memory
consumption is improved and provides much lower values
--when hidden configuration windows are not deleted
memory consumption increases but their responsiveness
for hiding/showing is instantly
2020-05-16 10:02:23 +03:00
Michail Vourlakos
1dcf799d42 a way to not delete hidden config windows 2020-05-15 13:06:53 +03:00
Michail Vourlakos
ec949948b6 fix View recraetion and frameExtents freezes
--View recreation path was broken from new implementation
for Latte::Interfaces that pass objects to containment
interface. This is now fixed and Interfaces::View object is updated
and broadcasted correctly when changed
--when GtkFrameExtents are zeroed for behaveAsPlasmaPanels
then it is better to recreate the view to avoid freezes and
hidings of the view because of compositor strange behavior
2020-05-12 14:45:31 +03:00
Michail Vourlakos
e83f7e551e redraw panel shadows after !visible workarounds
--use a single slot when View triggers its workarounds
for the kwin issue that kwin hides panels when an activity
stops. In such case the view shadows are also redrawn.
2020-05-11 23:04:44 +03:00
Michail Vourlakos
8b32be15b9 support GtkFrameExtents under X11
--this way to dock windows can now snap beautifully
with windows around them, very beautiful behavior!
That was pretty annoying in the past.
2020-05-11 17:31:51 +03:00
Michail Vourlakos
1e144fc3e7 solution for Unity style layouts top view shadow
--when a vertical view that acts as a unity-style one
is activated, it sends a signal to top view to update
their visibility in order to stay on top
2020-05-10 20:27:35 +03:00
Michail Vourlakos
1e48d053f7 fix crash when switching layouts
-- the faulter was containmentinterface that was
calling containment()->applets() during view
destroying phase
2020-05-08 10:16:26 +03:00
Michail Vourlakos
9be7822b98 upgrade to LatteApp.Interfaces containment access 2020-05-02 13:23:37 +03:00
Michail Vourlakos
441fbdf635 plenty of improvements to position Latte panels
--used a video demonstrating multiple panels at the
bottom edge with padding between them
--max/minLength and offset are changed to float values
--max/minLength and offset can now be adjusted with
Ctrl+Wheel over their label in Appearance tab page. Clicking
the previous mentioned label will round the values
--introduce an autoSizeEnabled value in order to block
auto size mechanism when it becomes annoying. Such issue
appears more often to Latte panels
--block MenuZ from Latte icon heuristics
2020-04-29 09:54:16 +03:00
Michail Vourlakos
63187ce5b4 remove Latte library as requirement
--implement things simpler by using the same
CoreTypes header file both for LatteCore.Types
import statement and App c++ implementation.
Let's leave in the future to decide if
a LibLatte is really necessary.
2020-04-24 14:52:16 +03:00
Michail Vourlakos
9919952239 bring back Settings::inAdvancedMode
--ViewSettings::complexityLevel is not needed
any more... View::Settings will keep only two
states, Basic and Advanced mode
2020-04-23 21:57:17 +03:00
Michail Vourlakos
6e4779e6ab require new official Latte library 2020-04-22 21:10:17 +03:00
Michail Vourlakos
ac3ccb5b98 try to support a public liblatte library 2020-04-22 14:09:42 +03:00
Michail Vourlakos
5073939335 REFACTOR:split up and refactor liblatte2 and types
--use a more logical organization for types. LibLatte2
is split to become LatteCore library and Latte types
are now moved to application level. The Latte Types will
be split even more... Tasks-Only related types will
become Latte.Tasks types

BUG:420210
2020-04-18 13:39:45 +03:00
Michail Vourlakos
0046c904d1 View:Move expanded applets code to View::Interface 2020-04-08 15:22:38 +03:00
Michail Vourlakos
fa65462dea move View::deactivateApplets to extendedInterface 2020-04-08 14:39:12 +03:00
Michail Vourlakos
50c136b56f provide View::ExtendedInterface to qml parts 2020-04-08 14:34:05 +03:00
Michail Vourlakos
c333e11cdb update applets expanded tracking on every startup
--even when the views is recreated
2020-04-05 21:06:13 +03:00
Michail Vourlakos
f63a467b1e improvements for applet isExpanded tracking 2020-04-05 18:04:10 +03:00
Michail Vourlakos
1adcbdb863 improve identify applets expanded state 2020-04-05 17:01:10 +03:00
Michail Vourlakos
aa3aba50d9 make blockHiding multiple state
--blockHiding now tracks down which event has
requested it and it can work flawlessly with
multiple events

BUG:419034
2020-04-05 14:59:26 +03:00
Michail Vourlakos
70359602b8 apply activities at views andcurrentActivitychanges 2020-03-21 12:44:52 +02:00
Michail Vourlakos
87f6330816 slide in/out nicely when hideThickScreenGap
--when the user has chosen to hide the screen gap
when there is a maximized window in the screen and
at the same time the View behaves as plasma panel,
it now slides in/out nicely
2020-03-19 15:32:36 +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
d5033d1bed improve latte wayland ids discovery
--introduce new waylad ids discovery implementation
for View::Positioner
2020-03-02 09:39:57 +02:00
Michail Vourlakos
9d30eb6257 support stick options for vertical views
--the user can now choose for vertical views to
stick their edges at the top or bottom screen edge
and ignore any top or bottom views accordingly. These
options are available in the Transparent Settings
area for vertical views and in advanced settings
mode.
2020-03-01 10:35:45 +02:00
Michail Vourlakos
8e614468bc imrove applets scroll wheel activation
--the new implementation works at all cases even
when the ParabolicEffect MouseArea is not really
enabled (e.g. real panels)
2020-01-31 18:00:17 +02:00
Michail Vourlakos
a0582ac409 improve FloatingGapWindow creation/deletion
--create FloatingGapWindow the first time needed
from VisibilityManager if it is not already created.
--remove FloatingGapWindow when View::screenEdgeMarginEnabled
is disabled
2020-01-22 14:06:53 +02:00
Michail Vourlakos
411017c0f6 [wayland,crash]-fix showing advanced dock settings
--fix showing advanced settings window in order to update
the window geometry ONLY WHEN there are availableScreenGeometry
changes from Latte::View(s).
--As a side effect changing docks/panels location under wayland
when they have enabled their background blur has reduced crashes
during location changes.
2020-01-10 16:47:57 +02:00
Michail Vourlakos
9d6e350a85 New ScreenEdge triggering behavior for RealFloats
--trying an alternative approach concerning real floating
Views and screen edge triggering. In such case the user
has triggered to show a REAL FLOATING VIEW, it is considered
normal from user point of view for the view to remain shown
until there is windows changed state or the mouse has
escaped the View main window area
2020-01-04 13:52:11 +02:00
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
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
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
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
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
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
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
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
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
7deef41015 move View::WindowsTracker to own directory 2019-06-08 16:20:43 +03:00