RFC: Make Switch User option invoke the switch user UI in the lockscreen
ClosedPublic

Authored by davidedmundson on Aug 22 2016, 2:38 AM.

Details

Summary

Instead of having a separate switch user screen, we just invoke the lock
screen with a parameter to default to the switch session page.

This is better because:

  • it's a familiar consistent UI to the lockscreen
  • It has all the lockscreen features. (Wallpapers, Multiscreen, OSDs)
  • Session switching is simpler as we won't have to wait to invoke the

lock screen before switching VTs

  • We get rid of one more chunk of rubbish code from ksmserver

(it becomes just KSldApp::self()->lock(DefaultToSwitchUser) instead of a
blocking dialog)

  • There's one less lnf component to maintain

However, it does bring the behavioural change that you can't cancel from
the "switch user screen" without entering a password

(argubaly a feature... Switch User locks on some other platforms)

And the session will unconditionally lock when you switch session,
currently it's linked to the config option "Lock screen automatically"

(which is arguably completely wrong anyway, as that config option is
displayed as being about locking after a timeout)

Diff Detail

Repository
R133 KScreenLocker
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
davidedmundson retitled this revision from to RFC: Make Switch User option invoke the switch user UI in the lockscreen.
davidedmundson updated this object.
davidedmundson edited the test plan for this revision. (Show Details)
davidedmundson added a reviewer: Plasma.
Restricted Application added a project: Plasma. · View Herald TranscriptAug 22 2016, 2:38 AM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript

KSldApp::self()->lock(DefaultToSwitchUser)

That won't work on Wayland. There ksmserver is not responsible for the lock screen and doesn't interact with KSldApp. Thus I would rather go for adding a dedicated call to the org.kde.screensaver DBus interface.

In general: I'm all for it!

mart added a subscriber: mart.Aug 22 2016, 9:23 AM

+1 (whis will make it completely modal without being able to see the screen behing tough, which i don't think is a big issue)

in any way works on wayland :)

  • Add to DBus interface

Big +1, yay for consistency!

As I already mentioned this morning I'm not too fond of the idea of locking the session for that. But I won't stand in the way of simplifying our codebase either. ±0 from me, if we can have an "Unlock" button for password-less accounts eventually.

This revision was automatically updated to reflect the committed changes.