It's a separate application and does QtQuick stuff, so it should also honor when we e.g. enforce software rendering.
Differential Revision: https://phabricator.kde.org/D2962
Summary:
Positions the shutdown dialog in the absolute space if there is the
PlasmaShell interface.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2445
Summary:
This follows the approach of kscreenlocker and ksplash: in multi-screen
setups there is one dedicated greeter shown per screen. When the screen
changes resolution, the view gets adopted, when a screen is destroyed,
the view is removed and when a new screen gets added, a view gets
created.
This should make the logout dialog work reliable in multi-screen setups.
As an additional change it's no longer bound to X11 and can also create
views on Wayland, though further integration is required to have the
views positioned correctly and make the compositor aware of this being
a logout dialog (handle like popups).
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2264
Summary:
The idea behind this change is to have a dedicated binary for the
logout dialog. As a follow up ksmserver needs to be adjusted to invoke
the helper binary instead of interacting with KSMShutdownDlg directly.
This will bring quite some improvements to the logout architecture:
* ksmserver doesn't need to run a QEventLoop to wait for the dialog to finish
* it becomes easier to test changes for the logout dialog, one doesn't need
to restart the session any more
* ksmserver becomes better guarded against problems in the UI layer (e.g.
OpenGL errors)
* the binary can be changed to support Wayland
* ksmserver becomes better guarded against problems with updating Qt
while the session is running
This change only introduces the creation of the binary. A new sub-dir
"logout-greeter" is added which creates a ksmserver-logout-greeter.
The greeter defines various command line arguments for the options which
are being passed to the KSMShutdownDlg.
If the dialog returns an exit value of 0 it is interpreted as accepted.
A return value != 0 indicates that the user rejected the logout.
The dialog also passes additional values back. In particular the logout
method might be changed and returned back to ksmserver. To support this
operation a pipe filedescriptor can be passed to the greeter. If present
the greeter will write the numerical value of KWorkspace::ShutdownType
into the pipe on success.
To indicate how the interaction - especially the reading from pipe -
works, the change comes with an additional test binary. It forwards
the command line arguments and creates the pipe to pass to the greeter
and reads it back in a helper thread to be non-blocking. This approach is
inspired from kwin_wayland's starting of Xwayland.
Test Plan: See the new test binary
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2252