Qt::UniqueConnection doesn't work well with lambdas, as it's actually a new
connection every time.
Turn it into a method so that Qt can make sure we're connecting only once.
So far the unit test verifies that:
* screen gets blanked as soon as the first lock window is mapped
* screen stays blanked when the lock window gets destroyed
* screen stays blanked if a window is raised on top of the stack
REVIEW: 118012
The unit test so far only tests establishGrab. This is a little bit
tricky as we need a different X Client which grabs pointer or keyboard
to make establishGrab fail. For that two small helper applications are
included which do nothing else than connecting to X and the one grabbing
keyboard the other grabbing pointer.
The applications are started from the test to get the keyboard/pointer
grabbed which results in ::establishGrab to return false.
What this test is not yet able to test is handling the sleep between two
grab attemps.
As the test is using doUnlock() from KSldApp, the implementation is
changed to use xcb for ungrab pointer/keyboard. With XLib the test would
have needed an XSync which would have required to either add the XLib
call to the test or doUnlock or implement the sync using xcb.
REVIEW: 117995
All QQuickWindows share a default format. By setting a custom format
it overwrites the default and this results in a format without a
stencil buffer being requested resulting in possible rendering errors.
This was used to get an alpha buffer. Instead use the static method
on QQuickWindow to request an alpha buffer.
REVIEW: 118123
destroy the script engine after use.
is usually used a single time anyways, so saves memory and executes
the code parts that in the bindings gets executed at destroy
such as wallpaper change
BUG:334667
So far we were just enforcing that 0 would be the primary screen. After
this change we will make sure that the rest are layed out horizontally and
then vertically if there's a 2 at the same position.
If a new screen is connected, we'll try to put it in the correct position
following the described situation.
BUG: 334502
since when the plasmoid is gettng created other events may be processed,
slightly defer it's init() so that if a malformed mpris implementation
(hello VLC) adds the plasmoid to tasks immediately, so we can ensure
that every plasmoid gets onle and only one instance
BUG:334622