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

58 Commits

Author SHA1 Message Date
Michail Vourlakos
a033a20062 more startup improvements
--visibility: simplify and improve code
for restoring and saving values
--enable visibility mode early on the startup
sequence
--enable windows tracking after startup phase
has ended
--windows tracking respect also view geometry
changes and not only window changes from the
desktop environment
2021-12-15 21:32:23 +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
aeb934d0fb improve smoothness of animations during startup
--This new approach paints all docks and panels during
starup offscreen. This way especially under x11 not a lot of
visual glitches are appearing all over the place.
After startup time has ended docks and panels are
moved at their original and valid placement and slide in
animations are triggered.
2021-12-12 14:39:18 +02:00
Michail Vourlakos
ea19ff18ad improve responsiveness for DynamicStruts Scenario
--add a timer blocker in order to reduce struts calls
at window manager. This way the entire desktop experience
becomes more stable and fluent.
2021-12-10 17:08:58 +02:00
Alexander Lohnau
505379ed04 Use spdx syntax for all files 2021-05-27 15:01:00 +00:00
Michail Vourlakos
a001eab39c provide isSidebar flag for view::visibility 2021-05-21 17:28:08 +03:00
Michail Vourlakos
f2dda7347c set input mask properly for hidden sidebars
--do not enable any input mask for hidden sidebars
2021-05-21 17:28:08 +03:00
Michail Vourlakos
76549a9f99 shortcuts:wait for view to fully shown properly
--the new approach is not using timers but actual
events from View in order to identify when the
view is fully shown and when their popup is actual
visible. This way popup showing and view slide-in
is always synchronized properly

BUG:425078
2021-05-13 20:09:05 +03:00
Michail Vourlakos
8028efaa6c expose isShownFully to ViewPart::Visibility 2021-05-13 19:14:33 +03:00
Michail Vourlakos
16b83772e3 fixes for Sidebars hiding/showing behavior 2021-05-03 23:24:23 +03:00
Michail Vourlakos
393db028b7 provide access below screen margin for Docks
--using hidden VisibilityManager::floatingGapWindow
implementation in order to provide full access for
the area which is below the screen margin when the
user has disabled user interaction for that area

BUG:433820
2021-03-04 19:18:42 +02:00
Michail Vourlakos
9d3ebca4af provide stable struts thickness
--when a floating view is hiding its screen gap
there is no reason for struts to be added
during that phase. Published struts could be
the final expected window position in that case.

BUG:431255
2021-01-07 15:02:16 +02:00
Michail Vourlakos
2deed2d10c visibilitymanager use effects to hide/show mask 2020-11-30 21:06:24 +02:00
Michail Vourlakos
c7d11c443e fix hiding of panels with mask technique 2020-10-27 19:12:48 +02:00
Michail Vourlakos
343c1e632a provide consistent slots naming
--onSomethingChanged syntax is preferred for all
slots that are triggered from somethingChanged signals
--doThis syntax is preferred for generic slots that
are triggered from various different codepaths
2020-08-20 19:58:45 +03:00
Michail Vourlakos
6cb97068c2 SidebarAutoHide support floating gap contains mouse
--floating gap window is now activated independently of
kwin edges supports and only when really needed.
SidebarAutoHide visibility mode has been adjusted in order
to work nicely with floating gap window helper
2020-07-29 00:58:21 +03:00
Michail Vourlakos
01a17ea9ba visibility:update hide timer interval handling
--hide timer now has a default/user set value but
it can also become with different intervals if
specific codepaths require it.
2020-07-29 00:13:16 +03:00
Michail Vourlakos
3b3388d673 rename SideBar to SidebarOnDemand
--improve semantics all over the place now
that we provide two different sidebar
visibility modes
2020-07-29 00:02:50 +03:00
Martijn Vogelaar
2e4f7da4c2 Introduction and implementation of the SidebarAutohide
as discussed in #19.
2020-07-28 15:49:55 +00: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
b6183c526c update frameExtents at View::forcedWorkaroundShown 2020-05-12 10:30:05 +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
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
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
bde33f98a9 remove blockHidingEvent on SideBar startup 2020-04-15 16:47:15 +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
47f79db2ec improve show/hide functions of visibilitymanager
--test the new code both for x11 and wayland and check
out that it does not create crashes or any other new
bugs
2020-03-02 09:39:57 +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
3f68665300 introduce floating gap window
--this window responsibility is to check
if the mouse is still inside the real floating
gap and in such case to prevent the dock from
hiding
2020-01-22 00:28:07 +02:00
Michail Vourlakos
b32171fe21 Revert "hide timer for floating views"
This reverts commit 706a80cae3.
2020-01-22 00:28:07 +02:00
Michail Vourlakos
706a80cae3 hide timer for floating views
--for floating views the hide timer can do
the trick about when to make the checks
that the view must become hidden. In floating
views should support different default and
current value because it should be greater
that the normal use cases.
2020-01-07 17:54:48 +02:00
Michail Vourlakos
4cf929ea81 support containsMouse behavior for WindowsCanCover 2019-12-27 13:38:22 +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
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
Yuri Chornoivan
3f6d688dfe Try to fix build with Clang 2019-08-18 12:57:06 +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
ffced101e1 apply visibilitymanager::struts when are needed 2019-05-14 17:56:22 +03:00
Michail Vourlakos
ad788130ab REFACTOR:add WindowSystem namespace 2019-05-11 15:47:22 +03:00
Michail Vourlakos
a6b8fbcaff consider view::hidden state after slide-out 2019-05-11 09:08:18 +03:00
Michail Vourlakos
6248a0ccae refactor:move schemecolors under "wm" folder 2019-05-09 18:12:46 +03:00
Michail Vourlakos
c38e3016de update hidden state after slide-in
BUG: 406415
2019-05-02 00:10:29 +03:00
Michail Vourlakos
bb3e82024e simplify valid struts calculations 2019-05-01 23:04:39 +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
a2566d1414 move dodgeAllWindows to windowtracker 2019-04-23 10:55:27 +03:00
Michail Vourlakos
20a57f3c15 improve edge changing animation 2019-04-12 21:58:19 +03:00
Michail Vourlakos
9bdd58ee3f restore Show Timer behavior for KWin Edges 2019-02-24 19:09:48 +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