[ksmserver] Launch logout greeter with DBus methods

Authored by davidedmundson on Oct 9 2018, 9:26 AM.



Removing this is part of preparations for ksmserver to become just an X
session manager. See T9779.

Instead of ksmserver opening the greeter with a tonne of args and then
having a socket to watch for changes, the new mechanism is that we fire
and forget the prompt. Then the logout prompt calls back into ksmserver
with the request. Simplifies code greatly allows for moving.

KSMserver's shutdown DBus method remain on ksmserver for compatibility,
but ultimately spawning the prompt will move to libkworkspace and called
from the session directly.

QML API in the logout greeter remains mostly untouched.

Behavioural changes are minor:
There was a QML property "choose" exposed to the greeter if the default
shutdown option is set to None. Though we don't allow this in the KCM
and our default prompt doesn't use it.

We no longer block a user from saving a session whilst a logout prompt
is active.

Test Plan

Logged out

Also ran with old ksmserver, still got a prompt

Diff Detail

R120 Plasma Workspace
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.
davidedmundson created this revision.Oct 9 2018, 9:26 AM
Restricted Application added a project: Plasma. · View Herald TranscriptOct 9 2018, 9:26 AM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
davidedmundson requested review of this revision.Oct 9 2018, 9:26 AM
apol accepted this revision.Oct 30 2018, 3:46 PM
apol added a subscriber: apol.

This looks really good!

This revision is now accepted and ready to land.Oct 30 2018, 3:46 PM
This revision was automatically updated to reflect the committed changes.