Commit Graph

287 Commits (78630a60babebaf6bba25db39ffc7274847a614f)

Author SHA1 Message Date
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.
5 years ago
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.
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 0ebef42513 add screenEdgeMargin and update border accordingly 5 years ago
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
5 years ago
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.
5 years ago
Michail Vourlakos fac638c156 remove obsolete fontmetrics libraries 5 years ago
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
5 years ago
Michail Vourlakos c515cd0216 update QRegion deprecated code 5 years ago
Yuri Chornoivan 1aaef7aa2b Fix minor EBN issues 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
Yuri Chornoivan 3a60d6f3b2 Fix minor EBN issues 6 years ago
Yuri Chornoivan 3f6d688dfe Try to fix build with Clang 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 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
6 years ago
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.
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 18728015e3 fix configview.h reference
BUG:410371
6 years ago
Michail Vourlakos b94f87f144 rename trackerwindows to windowstracker
-- in order to distinguish it from the neighbour
tracker classes
6 years ago
Michail Vourlakos 9c0ff5d2a8 fix drag sensitivity when KWin edges are used 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 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
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 3a465782e1 wayland:improve latte windows id discovering 6 years ago
Michail Vourlakos 1ef328bd3a avoid wayland crashes from QWindow::setVisible 6 years ago
Michail Vourlakos c85d24ac37 use WM:IgnoredWindows infrastructure for wayland
--improvements for IgnoredWindows infrastructure
all over the relevant classes
6 years ago
Michail Vourlakos 79f392723e wm:support ignored windows
--x11 implementation is in place and wayland
case must be updated accordingly
6 years ago
Michail Vourlakos dac692bec4 dont block updating hidden state for drag enter 6 years ago
Michail Vourlakos 8033db04d3 increase KWin Ghost window thickness
--this way the KWin Edges ghost window behaves
more accurate and more predictable
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 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
6 years ago
Michail Vourlakos 85e49d41bf improve view recreation code 6 years ago
Michail Vourlakos caefba4576 recreate views when indicators update 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 a7abf5d309 update background svg file when plasmatheme changes 6 years ago
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
6 years ago
Michail Vourlakos 91a9e7c0c5 improvements for effects area and painting 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 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
6 years ago
Michail Vourlakos 29bbba1730 improve View::currentScreenWindowsTracking 6 years ago
Michail Vourlakos ef3db56ce7 fix Tracker::AllScreens init signaling on startup 6 years ago
Michail Vourlakos 353f7119cc move Tracker::Enabled to View::WindowsTracker
--previously it was found in the consumers of
View::WindowsTracker (CurrentScreenTracker and
AllWindowsTracker)
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 7deef41015 move View::WindowsTracker to own directory 6 years ago
Michail Vourlakos 96c081e076 remove View from TrackedGeneralInfo 6 years ago
Michail Vourlakos c2bfda46d3 make WindowsTracking activity filtering accurate 6 years ago
Michail Vourlakos c0e3004717 add LastActiveWindow debug records
--in DebugWindow
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 2c33ad52b6 support file paths for Indicator::Resource::svgs 6 years ago
Michail Vourlakos 149812080f move View/Indicator in its own directory 6 years ago
Michail Vourlakos f75605d78d introduce Resources for Indicators 6 years ago
Michail Vourlakos 342d4a1a00 move window funcionality to lastactivewindow 6 years ago
Michail Vourlakos 53d24fe2c6 forward LastActiveWindow to QML 6 years ago
Michail Vourlakos dbed45b2c7 introduce TrackedInfo and LastActiveWindow 6 years ago
Michail Vourlakos 99ec9cb2fd move WM:Trackers in its own directory 6 years ago
Michail Vourlakos b251ea7b8e protect visibility destructor
--this protects a crash when closing Latte
immediately after startup
6 years ago
Michail Vourlakos 7cd3b6201d remember the last created ConfigView per layout 6 years ago
Michail Vourlakos beb0100644 fix some applets animations flickerring
--especially when the user drags something over
the Latte::View and afterwards drops it
6 years ago
Michail Vourlakos 86e645c720 position properly dropped applets and urls in view 6 years ago
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
6 years ago
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.
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 ebeabb1033 increase View::timers kwin hack 6 years ago
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
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 a661fbb032 refactor:drop LAYOUTSMANAGER apis moved to SYNCHER 6 years ago
Michail Vourlakos a6b8fbcaff consider view::hidden state after slide-out 6 years ago
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
6 years ago
Michail Vourlakos 6248a0ccae refactor:move schemecolors under "wm" folder 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 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.
6 years ago
Michail Vourlakos 1f14405e63 REFACTOR: rename Active TO -> CENTRALLAYOUT 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 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
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 5fbdf19b78 fixes for edit mode 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