Split KWin startup out of KSMServer
ClosedPublic

Authored by broulik on Apr 6 2020, 9:49 AM.

Details

Summary

This patch removes startup of window manager out of KSMServer. It also removes the usage of SM protocol to talk to KWin.

This was problematic for two reasons. We weren't completely spec compliant making custom changes to handle the window manager specially. It also requires ksmserver up first as with QSessionManager we can only pass the restoration ID along as a command line argument.

We need to have the detachment so that we get session restore on kwin wayland for X clients, as well supporting the systemd boot which can't load from ksmserver's session config.

Instead, KWin is told to save and restore on DBus directly.

Test Plan

Branch broulik/ksmserver_no_wm

Diff Detail

Repository
R120 Plasma Workspace
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
broulik created this revision.Apr 6 2020, 9:49 AM
Restricted Application added a project: Plasma. · View Herald TranscriptApr 6 2020, 9:49 AM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
broulik requested review of this revision.Apr 6 2020, 9:49 AM
davidedmundson edited the summary of this revision. (Show Details)Apr 6 2020, 12:19 PM
davidedmundson requested changes to this revision.Apr 6 2020, 12:26 PM
davidedmundson added a subscriber: davidedmundson.

Direction is beautiful, so much red!

ksmserver/logout.cpp
228

We do want a comment saying why we want to pause until kwin continues, and not going to deadlock.

I'm not sure "hehe" quite covers all of that.

251

well noticed :)

Blocking on that.

This is for when you use "manually saved session".

ksmserver/server.h
214–215

Can you not just kill them?
It's not public API

This revision now requires changes to proceed.Apr 6 2020, 12:26 PM
broulik updated this revision to Diff 79558.Apr 7 2020, 9:25 AM
  • Implement saveCurrentSession
  • Clean up states and some comments
davidedmundson accepted this revision.Apr 7 2020, 11:02 AM
This revision is now accepted and ready to land.Apr 7 2020, 11:02 AM
This revision was automatically updated to reflect the committed changes.