Commit Graph

135 Commits (0aedefd959b4941347d224a5ddac7f81e726351c)

Author SHA1 Message Date
Michail Vourlakos 8c3ed88a2f disable some debug messages 5 years ago
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
5 years ago
Michail Vourlakos c9c61818a4 force kwinedge for behaveAsPlasmaPanels
--this way we make sure that the user will be
able to trigger showing with mouse at the screen
edge. Using the window mask to succeed in this
in not an option.
5 years ago
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
5 years ago
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
5 years ago
Michail Vourlakos 4b1580c0bd move View::HelperWindows in their own directory
--at the same time create a base SubWindow class for
all window helpers used by Views. Now ScreenEdgeGhostWindow
and FloatingGapWindow use the same window implementation
5 years ago
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
5 years ago
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
5 years ago
Michail Vourlakos 35ce0496ec periodically checking containmouse after slidein 5 years ago
Michail Vourlakos b32171fe21 Revert "hide timer for floating views"
This reverts commit 706a80cae3.
5 years ago
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.
5 years ago
Michail Vourlakos 87f86ebc75 trying to support masking for floating 5 years ago
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
5 years ago
Michail Vourlakos 1dc154f932 track inLocationAnimation of View:Positioner 5 years ago
Michail Vourlakos b129a8d880 improve real floating views screen edge activation
-- when the user hovers the screen edge there is a chance that
screenedgeghostwindow has become underneath the view. In such
case when the real floating window slides in the screenghostwindow
becomes unhovered faulty and it is destroyed afterwards. It is
much better if the screenedgeghostwindow in such case remains shown
until the mouse is not contained neither in the view or the screen
ghost window
-- expose screen edge ghost window thickness
5 years ago
Michail Vourlakos e0e6f5f6b3 improve semantics for WM::setActiveEdge 5 years ago
Michail Vourlakos efbd2a8276 floating:staying mouse on edge and not hiding
--when the floating view is a real panel window and
slides out-in with real animation if the user keeps
its mouse on the screen edge the view can remain
shown without sliding out
5 years ago
Michail Vourlakos 103de33c92 trying to implement real panels sliding in/ou 5 years ago
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.
5 years ago
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
5 years ago
Michail Vourlakos 4cf929ea81 support containsMouse behavior for WindowsCanCover 5 years ago
Michail Vourlakos dfd8bcdeca wayland improvements for WindowsAlwaysCover 5 years ago
Michail Vourlakos c88329d278 x11:improve experience for Windows Always Cover
--simplify also some parts from windows calling window
manager values
5 years ago
Michail Vourlakos d9e18794c8 simplify keepabove/below calling
--start a bit to work with "Windows Always Cover"
visibility mode
5 years ago
Michail Vourlakos 3554c4a006 improve some functionality used 5 years ago
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
5 years ago
Michail Vourlakos 896afcc068 support screen edge margin for behaveAsPlasmaPanel 5 years ago
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.
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
Michail Vourlakos dac692bec4 dont block updating hidden state for drag enter 6 years ago
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
6 years ago
Michail Vourlakos a9310a3de3 disable KWin edges for ByPassWMHint
--KWin edges do not support trigerring
above fullscreen windows
6 years ago
Michail Vourlakos 3c5c59e149 Revert "consider mask thickness for struts"
This reverts commit a4764024db.
6 years ago
Michail Vourlakos 359b120360 Revert "remove workaround for struts gap"
This reverts commit 137cd36547.
6 years ago
Michail Vourlakos 137cd36547 remove workaround for struts gap
--consider always the maskThickness when
settings struts in order to avoid gaps
at all cases
6 years ago
Michail Vourlakos a4764024db consider mask thickness for struts 6 years ago
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.
6 years ago
Michail Vourlakos e5673a9cfa fix type for DodgeMaximized 6 years ago
Michail Vourlakos 3f3560aab5 update dodgeAllWindows on startup properly 6 years ago
Michail Vourlakos b251ea7b8e protect visibility destructor
--this protects a crash when closing Latte
immediately after startup
6 years ago
Michail Vourlakos ffced101e1 apply visibilitymanager::struts when are needed 6 years ago
Michail Vourlakos f63a0ad658 update/improve hack part of screenghostwindow
--related to KWin faulty behavior for visibility
6 years ago
Michail Vourlakos 945c6e50e2 remove deprecated m_views from AbstractWMInterface 6 years ago
Michail Vourlakos a295352514 limit WM::setViewExtraFlags calls 6 years ago
Michail Vourlakos ad788130ab REFACTOR:add WindowSystem namespace 6 years ago
Michail Vourlakos a6b8fbcaff consider view::hidden state after slide-out 6 years ago
Michail Vourlakos a27ff3ec48 REFACTOR:Update LayoutManager to Layouts::Manager
--create "layouts" own directory in order to host
all LAYOUTS management/control code and classes
6 years ago
Michail Vourlakos 29157f4636 refactor:rename managedLayout to layout/viewLayout 6 years ago
Michail Vourlakos d945c89713 update struts when needed after their removal
--improve also when struts are applied under a
Multiple Mode and Multiple Activities
6 years ago
Michail Vourlakos c38e3016de update hidden state after slide-in
BUG: 406415
6 years ago
Michail Vourlakos 5cf047dcc5 clear publishedStruts for visibility modes changes 6 years ago
Michail Vourlakos 06b92024ba remove no needed debug message 6 years ago
Michail Vourlakos bb3e82024e simplify valid struts calculations 6 years ago
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
6 years ago
Michail Vourlakos d8cc85dd4a fix assert for visibilitymanager
BUG: 407131
6 years ago
Michail Vourlakos 854840b8fc fixes for style and naming
--for visibilitymanager class
6 years ago
Michail Vourlakos 417f992831 move intersect function to WindowsTracker 6 years ago
Michail Vourlakos dab796e253 improvements for visibilitymanager code 6 years ago
Michail Vourlakos a2566d1414 move dodgeAllWindows to windowtracker 6 years ago
Michail Vourlakos 20a57f3c15 improve edge changing animation 6 years ago
Michail Vourlakos b35fa94307 reduce availableScreenGeometry calls 6 years ago
Michail Vourlakos db6a4e9d0d make struts and Always Visible lighter
--support them also in Live Editing
6 years ago
Michail Vourlakos 385b0e0b20 update struts properly for TopLayouts 6 years ago
Michail Vourlakos 9bdd58ee3f restore Show Timer behavior for KWin Edges 6 years ago
Michail Vourlakos 9263b3e890 improvements for window tracker 6 years ago
Michail Vourlakos 1e65211277 DodgeAllWindows now uses WindowsTracker
--this way we use the same code for Dynamic
Background and DodgeAllWindows
6 years ago
Michail Vourlakos 9b9072d8f6 update qml code to follow windowTracker 6 years ago
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
6 years ago
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"
6 years ago
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
6 years ago
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
6 years ago
Michail Vourlakos 79ccc37e31 delay latte view showing for Meta global shortcut 6 years ago
Michail Vourlakos e81ef199b3 refactor:drop visibilitymanager private class 6 years ago
Michail Vourlakos b05c7d94ae refactor:add visibilitymanager to ViewPart:: 6 years ago
Michail Vourlakos 57ab5f3b3f refactor:move screenedgewindow to ViewPart:: 6 years ago
Michail Vourlakos 1ab99761a1 REFACTOR:Update Dock types to new Latte2::Types 6 years ago
Michail Vourlakos 462a849ac4 refactor:rename dock terms to view 6 years ago
Michail Vourlakos f2a90aafe6 refactor:rename dock term to view term 6 years ago
Michail Vourlakos 25d9d4ed17 refactor:rename DockCorona to Latte::Corona 6 years ago
Michail Vourlakos f74b3a4da0 REFACTOR:drop DockView term,in favour of LatteView 6 years ago
Michail Vourlakos 39368a41de REFACTOR:rename DockView to Latte::View
--move all classes related to Latte::View
from dock/ folder to view/ folder
6 years ago