Incorrect porting by merging ButtonPress and ButtonRelease into one
function.
This fixes the broken mouse button event handling in e.g. DesktopGrid
effect.
Using a QTimer to move the resize/move related code to the end of the
event queue. In case there is another motion event in the queue it will
cancel the timer.
With the fixed KPluginFactory macro, the KWIN_EFFECT_CONFIG_* macros
seem to break. I'm looking for a solution to fix up the macro in
kwineffects.h, or otherwise the usage in the plugins.
The problem is that the macros of each plugin export the exact same
class name, which is going to clash.
Until I've found a solution, disable build of the config files, so it's
not too disruptive for others.
CCMAIL:kwin@kde.org
Not sure why kdeclarative gets its own subdir, nor why
there is no CMake module to to add it to the include dirs
on find_package, but this matches what plasma-framework
does at the moment.
It got removed in frameworks recently and it seems like their is no
replacement. Therefore all of them are currently removed. Also there are
no porting guides yet for i18n.
Instead of inspecting the XEvent queue we create a Timer with a
singleshot of 0 msec to move the setActive(false) call to the end of the
event handling. In case there is a matching FocusIn event this will be
handled before the timer fired and can cancel the timer.
Takes a std::function as argument which allows to pass a lambda function
which gets executed for each client/unmanged:
ws->forEachClient([](Client *client) {
client->releaseWindow();
});
We get the missing send event attribute from anding the event's
response type with 0x80.
This fixes the issue that all open windows got unmapped. The reason for
this was that the existing new Client got reparented to the wrapper which
caused the UnmapNotify event which we used to release the Client and by
that unmapping the window completely.
Main problem here was that it still used fromX11Pixmap. It's changed to
XCB and gets the image data with xcb_get_image, constructs a QImage from
retrieved data and copies it to QPixmap. That's performing a deep copy
which we want (and also had in the old code).