[plasma-session] Load startup and shutdown on demand

Authored by davidedmundson on Mar 2 2020, 1:05 PM.

Description

[plasma-session] Load startup and shutdown on demand

Summary:
Currently startplasma spawns plasma-session then sits around waiting for
that to finish

plasma-session spawns all the startup then also just sits around doing
nothing

This patch makes plasma-session spawn all the startup and then quit.

It also splits the owner of the org.kde.shutdown interface to be on
demand. plasma-shutdown asks ksmserver to quit and then if applicable
runs the shutdown scripts or not.

Startplasma then knows when to exit by monitoring the DBus service
status directly.

The benefits are that we save some resources by not needing
plasma-session lingering about.

It also means the shutdown interface is re-usable as-is when the pending
systemd startup method is used.

Test Plan:
Logged in and:

  • ran killall ksmserver, session ended as before
  • logged out and cancelled due to unsaved changes
  • logged out and completed logout
  • logged out and rebooted

Reviewers: Plasma, apol

Reviewed By: apol

Subscribers: apol, plasma-devel

Tags: Plasma

Differential Revision: https://phabricator.kde.org/D27629

Details