Commit Graph

123 Commits (089b24dbe50970a29bf7ca384b5048fcdb85eacf)

Author SHA1 Message Date
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
4 years ago
Michail Vourlakos 7af60c802d provide isHidingBlocked through MyView Ability 4 years ago
Michail Vourlakos 397e1324e9 update name to view.inRelocationAnimation 4 years ago
Michail Vourlakos b6f4550c08 raise view window to set it in front layer 4 years ago
Michail Vourlakos 15c3b3630a wayland:fix struts crash
--when struts thickness during startup was zero
that was creating an invalid window geometry under
wayland and subsequently it was crashing the app.

BUG:431381
4 years ago
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
4 years ago
Michail Vourlakos 1181fc472c dont update GTK_FRAME_EXTENTS for floating state
--dont update when a floating Dock is hiding its screen
edge for a maximized window.
4 years ago
Michail Vourlakos bc5ba50147 refactor:plenty of fixes for masks/input events
--use only input events in order to identify the area
from which a window accepts input and also remove almost
every mask-qml code handling
--by reducing mask usage to minimum we fix also the
BLACKLINE bug under X11
4 years ago
Michail Vourlakos ba94315ecb REFACTOR:input events and mask area
-- The new approach reduces mask area calls to
barely minimum. Input mask is used instead to
specify the area for which we accept input.
-- The new approach solves also the BLACKLINE issue
when hovering the view at startup. This is because
at all times the full window area is drawn.
4 years ago
Michail Vourlakos 2deed2d10c visibilitymanager use effects to hide/show mask 4 years ago
Michail Vourlakos c7d11c443e fix hiding of panels with mask technique 4 years ago
Michail Vourlakos d610cd3419 wayland:dont show/hide views totally, use mask
--use mask to achieve this in order to not have to
handle wayland weirdness with surfaces and reattached
properties
4 years ago
Michail Vourlakos 42dedca86f fixes for multiple layouts new approach 4 years ago
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
5 years ago
Michail Vourlakos b808fa2559 reduce minimum hide timer interval to zero 5 years ago
Michail Vourlakos 7e4791fdbc fixes for hiding/showing signaling 5 years ago
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
5 years ago
Michail Vourlakos 0d02a92733 increase hide timer specific SidebarAutoHide msecs
--when the user has triggered its showing. It must be
given enough time for the user to observed the sidebar
contents before checking out if the sidebar must hide.
5 years ago
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.
5 years ago
Michail Vourlakos 3b3388d673 rename SideBar to SidebarOnDemand
--improve semantics all over the place now
that we provide two different sidebar
visibility modes
5 years ago
Michail Vourlakos 0784c0dacd improve View isFloatingPanel semantics 5 years ago
Martijn Vogelaar 2e4f7da4c2 Introduction and implementation of the SidebarAutohide
as discussed in #19.
5 years ago
Michail Vourlakos 22acd85d9c struts calculations at screen_edge coordinates
--as it appears in wayland the struts calculations must be
applied for exact screen_edge coordinates and use only the
view shown thickness. During the process floating panels
struts were not accurate at all cases and as such they
were fixed also for x11.
5 years ago
Michail Vourlakos cf1cb1ca8e always now Views when needed
--when View::Visibility::mustBeShown signal is
triggered then the Views should always be shown
even when KWin has hide it with no real reason
--force appling activities to ALL View related windows
when changing current Activity. This way we make
sure that when KWin makes faulty assignments,
Latte is coming to the rescue.
5 years ago
Michail Vourlakos 81bc74f49d dont recreate view unnecessary
--FrameExtents are working fine with margins 0,0,0,0
and Plasma 5.19.3
5 years ago
Michail Vourlakos 0b8fa321bc dont crash when panels change location 5 years ago
Michail Vourlakos e6e68d86c3 update FrameExtends for View::typeChanged
--during startup a panel type may become a dock type
and vice versa. We make sure that frameExtents
are updated accordingly when that happens.
5 years ago
Michail Vourlakos 84a5eecf79 update struts in Single layout mode earlier 5 years ago
Michail Vourlakos 236dd2c3b9 update frameExtents for View::locationChanged 5 years ago
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
5 years ago
Michail Vourlakos b6183c526c update frameExtents at View::forcedWorkaroundShown 5 years ago
Michail Vourlakos 114828ad88 reduce GtkFrameExtents calls/triggers 5 years ago
Michail Vourlakos 3e17f718ee dont block hiding for #debugwindow#(s) 5 years ago
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.
5 years ago
Michail Vourlakos 2526ab7e17 rename to MemoryUsage::LayoutsMemory
--easier to read in the code as that type
provides:
MemoryUsage::SingleLayout
MemoryUsage::MultipleLayouts
5 years ago
Michail Vourlakos 6e4779e6ab require new official Latte library 5 years ago
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
5 years ago
Michail Vourlakos bde33f98a9 remove blockHidingEvent on SideBar startup 5 years ago
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