1
0
mirror of https://github.com/KDE/latte-dock.git synced 2025-02-23 05:57:29 +03:00

118 Commits

Author SHA1 Message Date
Michail Vourlakos
3b1676fb93 update caller for availablescreenrectwithcriteria 2020-01-04 19:42:35 +02:00
Michail Vourlakos
e0e6f5f6b3 improve semantics for WM::setActiveEdge 2020-01-03 21:18:01 +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
a0f9758350 wayland fix crash from visibility mode flag
--app is crashing if we set for Latte::Views
KWin visibility mode to WindowsCanCover because
Latte is hiding its Views at some animations.
In such case only the KWin AutoHide mode allows
that, otherwise it is crashing.
2019-12-27 00:21:20 +02:00
Michail Vourlakos
dfd8bcdeca wayland improvements for WindowsAlwaysCover 2019-12-26 23:57:32 +02:00
Michail Vourlakos
7dd6696dfa wayland:fix crash from not found window 2019-12-26 22:15:08 +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
d9e18794c8 simplify keepabove/below calling
--start a bit to work with "Windows Always Cover"
visibility mode
2019-12-26 21:10:11 +02:00
Michail Vourlakos
3554c4a006 improve some functionality used 2019-12-26 17:25:56 +02:00
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
2019-12-26 16:53:37 +02:00
Michail Vourlakos
945a034a8c remove deprecated SignalMapper at waylandinterface 2019-12-22 13:37:53 +02:00
Michail Vourlakos
9dd798477e improve criteria for side panels dyamic touching
--Latte panels when they touch each other are informing
each other in order to provide consistent appearance. For
example the Unity mode where a top panel and a left panel
exist at the same time. In such case if the left panel is
INBUSY background state then the top panel is informed and
because inBusy state also. This way the top border of left dock
background does not look out of place. ON THE OTHER hand if
the left dock is hidden because the use has chosen auto-hide
visibility mode or any of the dodge(s) choices then the top
panel does not have to stay in isBusy state. The patch fixes
this by applying this behavior only when the left dock is shown
e.g. the mouse has entered the dock or the dodge mode is not
activated

BUG:415347
FIXED-IN:0.9.6
2019-12-20 15:14:23 +02:00
Michail Vourlakos
2bd037f79a fix wrong criteria for isMaximized state 2019-12-09 22:39:12 +02:00
Michail Vourlakos
7c77270f0b consider as isMaximized state only full screen case
--window manager provides two more states isMaxHorizontally,
isMaxVertically. These states can be ignored and be
considered as isMaximized only when both of these states
are valid

FIXED-IN:0.9.6
2019-12-09 22:21:48 +02:00
Michail Vourlakos
e05c5e2515 ignore plasma side-style panels/windows
--all plasma windows that are touching a screen edge
and their thickness based on the edge they are touching is
below 96px. are NOT consider as plasma panels and are
treated like normal windows for all Latte codepaths
2019-11-22 00:28:27 +02:00
Michail Vourlakos
6b5f4a952a dont drag/maximize windows from different desktops
--the last active window codepath provides a way to
drag and maximize/restore the last active window. This
should not occur when the last active window is not
in the current desktop and activity.

BUG:414089
FIXED-IN:0.9.5
2019-11-13 14:25:43 +02:00
Michail Vourlakos
f63200988e ignore Plasma panels in Latte heuristics 2019-11-02 16:53:27 +02:00
Michail Vourlakos
a946e485e0 indent fixes 2019-11-02 16:53:18 +02:00
Michail Vourlakos
36f7834cff fix typo that was creating an error build
BUG:413735
2019-11-02 16:50:29 +02:00
Michail Vourlakos
4ff84b4bde optimize delayed application data updating
--the previous code was updating the delayed application
data for each instance of lastactivewindow separately.
The new code is implementing this at the central
WM::WindowsTracker and just informs last active windows
to update their values
2019-10-31 17:37:23 +02:00
Michail Vourlakos
d5b7694d4d update application data after 1500ms from startup
--when an application is tracked from the lastactivewindow
infrastructure it is updating the application name/icon
1500 ms after its first startup in order to fix apps cases
where they update their StartupWMClass a bit delayed

BUG:413671
2019-10-31 17:07:08 +02:00
Michail Vourlakos
6849a4906d drop ksysguard dependency for kf5>=5.62
--following plasma updates for tasktools in order
to drop the ksysguard dependency which is also
costly
2019-10-31 16:35:32 +02:00
Michail Vourlakos
fdb002d919 optimize last active window color scheme update 2019-10-26 21:36:53 +03:00
Michail Vourlakos
6a7c959e6a expose colorScheme to lastActiveWindow(s)
--applets can now use the color scheme from lastActiveWindow
objects in order to paint some of their elements
2019-10-26 17:02:47 +03:00
Michail Vourlakos
d9dc659d7b update debug messages for wm::tracker 2019-09-16 23:12:39 +03:00
Michail Vourlakos
a9b4989236 update AllScreens track information during startup
--Whenever a view is updating its layout then the AllScreens
tracked information [per layout tracking] should be updated
also. Until now this was happening only during startup and there
was a case that if during startup a view was requesting tracking
and the second one did not, then tracking for the entire layout
for all screens it could be faulty disabled.

BUG:411670
FIXED-IN:0.9.3
2019-09-07 20:33:43 +03:00
Michail Vourlakos
153f5dab27 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:30:48 +03:00
Yuri Chornoivan
15ab253efd Fix minor EBN issues 2019-08-22 11:26:41 +03:00
Michail Vourlakos
92a4fb054e 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:47:45 +03:00
Michail Vourlakos
42d94df47f introduce windowCanBeMaximized
--trying to avoid interacting with windows
that DO NOT allow it
2019-07-31 16:44:43 +03:00
Michail Vourlakos
59f1d72fa3 improve canBeDragged implementation
--follow libtaskmanager case to support this
2019-07-31 16:34:05 +03:00
Michail Vourlakos
fcee8d98cc x11 fixes for invalid windows
--when a window is stacked back to its parent window
for example the firefox case (dragging a tab to create
a new firefox window and redrag it afterwards to the
main window) the wm::windows array had inconsistent
window records.
--This is fixed and also any X11 transient changed signals
are not blocked for windowChanged signals
2019-07-23 12:08:58 +03:00
Michail Vourlakos
71e291ccec comment debug messages 2019-07-23 11:21:01 +03:00
Michail Vourlakos
964f2282f2 consider main window also for dodge active
--if the main window is not active but is
touching the dock then the dock is not shown
for dodge active state
--fix the cleanup code in order to cleanup
windows that have a ghost wid ( 0 )
2019-07-23 00:17:46 +03:00
Michail Vourlakos
b94f87f144 rename trackerwindows to windowstracker
-- in order to distinguish it from the neighbour
tracker classes
2019-07-16 20:58:48 +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
3a465782e1 wayland:improve latte windows id discovering 2019-07-15 19:15:53 +03:00
Michail Vourlakos
c85d24ac37 use WM:IgnoredWindows infrastructure for wayland
--improvements for IgnoredWindows infrastructure
all over the relevant classes
2019-07-15 14:53:40 +03:00
Michail Vourlakos
79f392723e wm:support ignored windows
--x11 implementation is in place and wayland
case must be updated accordingly
2019-07-13 14:51:26 +03:00
Michail Vourlakos
ef08dbff96 update to latest tasktools.cpp from plasma master 2019-07-11 13:40:04 +03:00
Michail Vourlakos
6c70e1fd81 disable debug messages for windows tracking 2019-07-11 12:51:39 +03:00
Michail Vourlakos
5546a237a2 update struts propertly on wayland startup
BUG: 408977
2019-06-24 17:27:42 +03:00
Michail Vourlakos
a311f45a62 fix istouchingview of windows tracking
--is touching view functions did not identify
when a windows was touching the absolutegeometry
<thickness> boundary and at the same time
overlapping the view <length> area. A case
that was breaking the experience was the
Plasma "AddWidgets" dialog
2019-06-15 16:44:15 +03:00
Michail Vourlakos
91a9e7c0c5 improvements for effects area and painting 2019-06-15 16:12:15 +03:00
Michail Vourlakos
df3118fc98 Revert "remove workaround for X11 struts !compositing gap"
This reverts commit 37b708ef52b70777196f81dcda5f893ad859bd9c.
2019-06-15 15:43:23 +03:00
Michail Vourlakos
37b708ef52 remove workaround for X11 struts !compositing gap 2019-06-15 10:02:23 +03:00
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
2019-06-10 17:49:21 +03:00
Michail Vourlakos
d312598f60 provide builtin Activity,VDs switching
--this way we will avoid also the crash
on wayland produced by the deprecated
PagerModel
2019-06-10 17:30:25 +03:00
Michail Vourlakos
c16251f743 add buffer size for LastActiveWindow 2019-06-09 13:06:06 +03:00
Michail Vourlakos
35752bbc2f proceed with implementation of LastActiveWindow 2019-06-09 12:47:10 +03:00