Otherwise it fails to lock the screen and since it waits for the lock screen to show up before switching, it never does it.
BUG: 375941
FIXED-IN: 5.9.1
Differential Revision: https://phabricator.kde.org/D4470
Summary:
It's in case klauncher fails to return from autostart, however autostart
is now handled by ksmserver in process - so this will always be called.
I failed to notice it when I did the initial move
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3054
This follows the same approach as the logout greeter, albeit a bit simplified.
It also creates one window per screen and should fix the problems we had with its positioning in multi-screen setups.
Differential Revision: https://phabricator.kde.org/D3204
Summary:
BUG: 372153
CHANGELOG: Repaired autostart of desktop files with place holders
FIXED-IN: 5.8.4
Test Plan:
- add firefox.desktop to autostart
- make sure it autostarts without errors on next login
I really wish we had a framework to test this in isolation :/
Reviewers: davidedmundson
Reviewed By: davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3454
Summary:
They use Plasma's scaling, so in theory it should have absolutely no
effect.
In practice it has an effect of hitting a Qt bug with font rendering.
CCBUG: 366451
Test Plan: None done
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3158
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:
Commit d7c230ab19 changes the window to
fill the screen.
However it left dead code in shutdown dialog which was also
repositioning it - and worse...positioning it in a different place
which is just a mess.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2619
Summary:
Currently ksmserver sends DBus calls to klauncher to autostart services.
This patch brings all autostarting into the ksmserver process, putting
all autostart code together, and improving Plasma/Frameworks separation
(change requested by David Faure) with the long term goal of removing
this from klauncher; with a longer term goal of maybe even killing
klauncher.
We don't get two things autostarting as without ksmserver sending the
signals, klauncher does nothing.
Autostart.cpp code is copied verbatim so there's no breakage.
Test Plan: Logged in, got plasma and krunner and so on.
Reviewers: #plasma, graesslin
Reviewed By: #plasma, graesslin
Subscribers: mart, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2544
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:
Ksmerver now starts the logout greeter binary instead of creating
the KSMShutdownDlg. The complete interaction to logout is now performed
in an async, non-blocking way.
Test Plan: Successfully cancelled logout and performed logout and shutdown
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2257
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
It doesn't make sense to be able to interact with windows behind it and this also
prevents accidental logouts when you somehow lose the window behind others and
forget about it.
REVIEW: 124586
BUG: 357143
FIXED-IN: 5.5.4
According to Git / SVN history research, it was last used by KDE in
KDE 1. It seems like other toolkits also stopped using it 10-20 years
ago. It should have little to no practical relevance anymore.
I've found some documentation of legacy XSM session management from
1992, and the first copyright year of the XSMP spec (what we're
currently using) is 1993.
Also, XSM was removed from GNOME's gnome-session in 2005, rationale
and short discussion here:
https://mail.gnome.org/archives/desktop-devel-list/
2005-July/msg00527.html
with the following objections:
- Firefox doesn't support XSMP (long fixed)
- CDE on Solaris doesn't support XSMP (oh well...)
- Motif applications don't support XSMP
On kde-core-devel and kwin, nobody cared too much.
Consider XSM "accidentally" broken now ;)
https://marc.info/?l=kde-core-devel&m=144857647812257https://marc.info/?l=kde-core-devel&m=144976915400658
There is a utility called xsmproxy which comes from X.org.
It talks legacy XSM to clients and XSMP to an XSMP compliant
session manager and can therefore maybe hopefully make session
management of dinosaur applicatons sort of work.
It seems like that one received its last major modification
in 2003.
There is also some XSM related code in KWin that I will remove next.
Shutdown scripts are done by startkde after ksmserver quits. Which never
happens because we've told systemd to shutdown.
Old systems worked because they used to communicate with the display
manager which then closed us before shutting down, this is no longer the
case.
This moves handling the shutdown scripts into ksmserver (which already
handles startup scripts) and runs them before asking logind to shutdown.
BUG: 356190
REVIEW: 126268
This adds a user switcher borrowing elements from the lock screen and log out dialog.
It will be used instead of KRunner as main UI for switching sessions. The sessions runner
will stay there for the time being.
CHANGLOG: The main user switcher UI has been completely re-designed
REVIEW: 124585
On Wayland ksmserver should not be responsible for the lockscreen,
but the compositor takes care of providing the lock screen. To prevent
conflicts KSMServer gets a new command line option to enable it.
The code is slightly changed to not pass a series of boolean flags to
KSMServer, but a flags type.
The startplasma script for Wayland is adjusted to start ksmserver with
the new command line option.
REVIEW: 126022
With the change to the QuickViewSharedEngine, it seems to load synchronously, meaning the
status changed slot is never called and when I broke my lockscreen I locked myself out
in the process.
REVIEW: 125848