--whenever a window geometry is touching a screen geometry
is now considered that this window belongs to that screen.
This way a window could look active to more that one screens.
This way all last active window considerations now work
properly even when the window center is out of screen.
--some improvements of 0.10.5 broke the windows tracking
initialization. This is a fix in order for windows tracking
to be enabled/disabled properly per dock/panel during
startup phase.
--visibility: simplify and improve code
for restoring and saving values
--enable visibility mode early on the startup
sequence
--enable windows tracking after startup phase
has ended
--windows tracking respect also view geometry
changes and not only window changes from the
desktop environment
--as it appears many users are using Plasma GlobalScaling
in conjuction with PLASMA_USE_QT_SCALING. This commit
provides plenty of fixes for that scenario in order to
make things workable.
--adjust X11::InputMask based on devicePixelRatio()
--adjust X11::GtkFrameExtents based on devicePixelRatio()
--adjust View::absoluteGeometry() based on devicePixelRatio()
--adjust WM::Tracker based on devicePixelRatio()
--adjust WM::AbstractInterface based on devicePixelRatio()
BUG:444222
FIXED-IN:0.10.3
--new implementation keeps a more consistent history.
Each LastActiveWindow(LAW) now keeps track of all windows
that are related to its view even when these windows are not
currently shown. This way inactive windows history is
consistent and can be used from applets/visibility modes
more appropriately. VDs/Activities that are not
the current one(s) do not delete records from history
any more. Their respected windows are recorded and
flagged as NOT SHOWN, waiting this way to be valid
again after Activities/VDs changes.
--Views WindowsTracker in using screen geometry only to
identify which windows are in the same view screen has nothing
to do with availablescreengeometry. This is why it is
dropped and replaced by View::screenGeometry() value
--more specific identifying properly when a vertical
view is shown and is touching a top or bottom view
that has requested to be fully trasparent when no
maximized window exists
--The new implementation for snapping needed to remove
the touching view edge from touching algorithm. The
windows trakers now provide two separate values for each
touching.
----First value is for regular window touches for which
their window geometry intersects with view published
absoluteGeometry
----Second value is for windows that are touching
view edge without intersecting with view geometry
--implement things simpler by using the same
CoreTypes header file both for LatteCore.Types
import statement and App c++ implementation.
Let's leave in the future to decide if
a LibLatte is really necessary.
--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
--LastActiveWindow is providing information to
applets thus special windows that contain
the following flags:
skipTaskBar AND (skipPager OR skipSwitcher)
these windows can be totally ignored.
In such window case the LastActiveWindow used
are provided.
BUG:419384
--LastActiveWindow application data should be updated
only when the last active window id is equal with
the sent application data. Otherwise we may show
Application name and icon for totally irrelevant
window.
Bug was first reported at:
https://github.com/psifidotos/applet-window-title/issues/89/
FIXED-IN:0.9.10
--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
--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
--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
--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
--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
--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