Commit Graph

53 Commits (074d9efee17806e16af0a651d2c386616be61c3a)

Author SHA1 Message Date
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
5 years ago
Michail Vourlakos 2bd037f79a fix wrong criteria for isMaximized state 5 years ago
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
5 years ago
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
5 years ago
Michail Vourlakos f63200988e ignore Plasma panels in Latte heuristics 5 years ago
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
5 years ago
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
5 years ago
Michail Vourlakos fdb002d919 optimize last active window color scheme update 5 years ago
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
5 years ago
Michail Vourlakos d9dc659d7b update debug messages for wm::tracker 5 years ago
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
5 years ago
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.
6 years ago
Yuri Chornoivan 15ab253efd Fix minor EBN issues 6 years ago
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
6 years ago
Michail Vourlakos 42d94df47f introduce windowCanBeMaximized
--trying to avoid interacting with windows
that DO NOT allow it
6 years ago
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
6 years ago
Michail Vourlakos 71e291ccec comment debug messages 6 years ago
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 )
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 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 6c70e1fd81 disable debug messages for windows tracking 6 years ago
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
6 years ago
Michail Vourlakos c16251f743 add buffer size for LastActiveWindow 6 years ago
Michail Vourlakos 35752bbc2f proceed with implementation of LastActiveWindow 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 607dbac4cf update WindowsTracker to track AllScreens windows
--by using a Layouts perspective in order to accomplish
that
6 years ago
Michail Vourlakos 0aa5c520dc add Layouts Tracking in WindowsTracking 6 years ago
Michail Vourlakos e57ff695ed ignore LastActiveWindow tracking for !enabled 6 years ago
Michail Vourlakos 7decc54ddf introduce TrackedLayoutInfo 6 years ago
Michail Vourlakos 2b316aa728 improve trackedinfo(s) 6 years ago
Michail Vourlakos 96c081e076 remove View from TrackedGeneralInfo 6 years ago
Michail Vourlakos 6d1ac0bfe2 remove deprecated references 6 years ago
Michail Vourlakos c2bfda46d3 make WindowsTracking activity filtering accurate 6 years ago
Michail Vourlakos 1b5de7d859 remove irrelevant windows from Track::History
--last active windows that were minimized OR
changed screen must be removed from last active
window history
6 years ago
Michail Vourlakos 59a4d63ca6 improve activities and desktops WM filtering 6 years ago
Michail Vourlakos 79ae6a6de4 initial support History for LastActiveWindow 6 years ago
Michail Vourlakos 4ae9b1b91c update LastActiveWindow with signals 6 years ago
Michail Vourlakos c0e3004717 add LastActiveWindow debug records
--in DebugWindow
6 years ago
Michail Vourlakos a0226e1de9 split trackedinfo to general and view 6 years ago
Michail Vourlakos 51c11071dd support toggle onAllDesktops for LastActiveWindow 6 years ago
Michail Vourlakos af609ca53f X11:track more LastActiveWindow properties
--track windowChanged properties for KeepAbove
and isOnAllDesktops flags under X11
6 years ago
Michail Vourlakos f3eacf169e add actions for LastActiveWindow 6 years ago
Michail Vourlakos 342d4a1a00 move window funcionality to lastactivewindow 6 years ago
Michail Vourlakos a03655f176 new heuristic to identify plasma desktop window 6 years ago
Michail Vourlakos 54f1e3576e ignore Desktops under X11 6 years ago
Michail Vourlakos c45aa3f56c make xwindowinterface checks lighter
--use the windowsTracker in order to check
a window validity. No need to check again
and again in the window type is valid
6 years ago
Michail Vourlakos 8a8eb632b7 accept Gtk2+ dialogs for tracking
--Gtk2+ dialogs under X11 appear as
type Splash and PopUp at the same time.
This is a messy situation let's live
with this
6 years ago
Michail Vourlakos 3cbc4a5daf support AppName for WindowInformation
--use plasma libtaskmanager code and way
in order to obtain properly the AppName and
the Icon for its window
6 years ago
Michail Vourlakos 53d24fe2c6 forward LastActiveWindow to QML 6 years ago
Michail Vourlakos e07cee3862 support icon for LastActiveWindow 6 years ago