--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
--plasma systemsettings colors dialog recreates
the color scheme file and is not updating it.
By adding a signal for file creation we can now
update color schemes properly when the user updates
colors based on plasma systemsettings dialog
--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
--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
--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