Adding a const variant for ::data() to remove an unexpected copy.
To complete also the bool cast operator and isNull get a const
variant.
REVIEW: 117469
The methods Toplevel::staticWmCommand and Toplevel::staticSessionId were
both only used from one method and just wrapping an invocation to
getStringProperty.
REVIEW: 117474
NETWinInfo provides windowRole if NET::WM2WindowRole is added to the
properties2. Thus KWin doesn't need to monitor and fetch itself, but
can just wrap the data provided by NETWinInfo.
In addition a signal is added to Toplevel whenever the window role
changes.
REVIEW: 117470
Let's use the available API instead of duplicating code.
Nice side effect: client_machine.cpp doesn't include utils.h any more
which simplifies the unit test.
REVIEW: 117473
Apparently it's not about mplayer but about XV [1], not really a relevant
application nowadays which would be important enough for having hacks.
REVIEW: 117479
[1] https://en.wikipedia.org/wiki/Xv
It's dead, since 2006 it's "SeaMonkey" and it has a proper window class:
WM_CLASS(STRING) = "Navigator", "Seamonkey"
(Yes, I installed it. No, my distro doesn't have a package.)
REVIEW: 117472
If the property changes the animation data is updated. As the last
property change event will definately be delivered before an unmap notify
we can be sure that the animation data is up to data. Reading the
property again does not have any advantages.
By removing it we get rid of at least one roundtrip to the X Server and
it fixes one failed GetProperty error when it tries to read the property
for an already destroyed unmanaged.
REVIEW: 117431
New build option KWIN_BUILD_COVERAGE which adds
"-fprofile-arcs -ftest-coverage" to CMAKE_CXX_FLAGS and "-lgcov" to
CMAKE_EXE_LINKER_FLAGS.
REVIEW: 117369
If the deco part doesn't exist or the target rect is empty, KWin should
not try to composite the deco part on the screen. It can be an empty
rect for maximized windows. If the render composite is tried it results
in an error (note - man page says "This request does never generate any
errors.").
To simplify the macro is turned into a lambda.
The root cause for this problem is that PaintRedirector creates an
XRenderPicture for those invalid geometries and this requests arleady
fails. Thus RasterXRenderPaintRedirector is adjusted to not create the
XRenderPicture in that case and set it to nullptr. For a null
XRenderPicture XCB_RENDER_PICTURE_NONE is returned.
BUG: 332247
REVIEW: 117373
Excluded are the signals to Appmenu as that's currently excluded from
build.
Private slots with only one connection are turned into lambdas.
REVIEW: 117355
* Ported last qt4_wrap thingy to qt5_wrap thingy
* Include KF5Init (needed for kdeinit_executable
* Optionally include KF5DocTools and bind the docs subdirectory to it
* Include GenerateExportHeaders
The category gets read from the KService and is not translated.
Because of that the KCM needs to do the translation of the categories.
This was also the case in the old KCM.
REVIEW: 117111
Both KCMs had a hard coded default which is obviously bad. Instead we
now calculate a useable implicitWidth and implicitHeight and use this
as the minimum size for the KCM. Which means we need also track changes
to these two root object properties and update the QWidget container
accordingly.
BUG: 332518
BUG: 332519
REVIEW: 117079
We check whether the effect is scripted and provides a config. If that
is the case our normal approach for getting the config plugin fails and
we use this case to try to load it again through the generic scripted
config plugin.
REVIEW: 116863
BUG: 332186
The model data contains a new role ConfigurableRole. This is used to
decide whether the configure button is available.
The value for the role is set by searching for a KPlugin which has the
effect's service name as X-KDE-ParentComponents. All available configs
are expected to be in kf5/kwin/effects/configs/ and are located through
the KPluginTrader thus binary effect configs need to provide json meta
data.
REVIEW: 116855
Sort by:
* category
** exclusive group
*** name
Thus we have an alphabetic order of all categories, in the categories
we have again an alphabetic order of all effects in the same group and
the effects in one group are listed at the bottom of the category.
REVIEW: 116753
The new X-KWin-Exclusive-Category property is read from the service
and provided to QML through the ExclusiveRole. If an effect has such
a role the CheckBox is replaced by a RadioButton. The radio buttons of
an exclusive group take care that only one effect of the group can be
enabled. In addition the radio button acts like a check box. If one
clicks the checked radio button it gets unchecked.
At the same time this change removes the hard coded functionality for
the exclusive group of desktop switching effects. It's all handled
dynamically by creating the ExclusiveGroup when needed. For each
category there can be one ExclusiveGroup.
REVIEW: 116711
For each effect added to the list the KWin DBus interface is queried
for whether the effect is supported.
By default all effects are set to supported, thus if the DBus service
is not around (e.g. compositing disabled) it is assumed that all effects
are supported. In fact it's not possible to figure it out at all.
REVIEW: 116667