Normally kWin is launched simply as "kwin" ("kwin_x11", whatever), but
in some cases it's restart command may be "/usr/bin/kwin", most notably
when KWin restarts itself after a crash. Failing to recognize this client
as the WM leads to KWin starting without any session management restoring.
CCBUG: 377756
Normally kWin is launched simply as "kwin" ("kwin_x11", whatever), but
in some cases it's restart command may be "/usr/bin/kwin", most notably
when KWin restarts itself after a crash. Failing to recognize this client
as the WM leads to KWin starting without any session management restoring.
CCBUG: 377756
Normally kWin is launched simply as "kwin" ("kwin_x11", whatever), but
in some cases it's restart command may be "/usr/bin/kwin", most notably
when KWin restarts itself after a crash. Failing to recognize this client
as the WM leads to KWin starting without any session management restoring.
CCBUG: 377756
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:
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
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
Commit f913e251fe removed this, due to a porting bug: both klauncher
(XDG autostart using .desktop files) and ksmserver (kde-specific scripts)
were ported to look at the same directory (~/.config/autostart),
leading to double autostart. The right fix, however, is to use
a different directory for scripts, I called it ~/.config/autostart-scripts.
BUG: 338242
REVIEW: 124534
Currently KLauncher is responsible for starting all of the autostart
files. It intelligently starts only the files which should be started in
the KDE environment.
Once this is done, KLauncher then decides to also start all the files
in the autostart folder, but does that without checking which should be
started. I'm not sure why both KSMServer and KLauncher are overlaping
and doing the same thing. But it seems that KLauncher is the correct
place to do this. Specially since ksmserver uses kioclient5 in order to
start the applications.
BUG: 335878
REVIEW: 118977
This reverts commit c2f4588431.
Apparently this can cause the login sequence to wait for PulseAudio and
can delay the startup quite considerably, so temporarily reverting.
REVIEW: 118636
CCBUG: 335948
Conflicts:
ksmserver/plasma_workspace.notifyrc
This is the beginning of revision history for this module. If you
want to look at revision history older than this, please refer to the
techbase wiki for how to use Git history grafting. At the time of
writing, this wiki is located here:
http://community.kde.org/Frameworks/GitOldHistory
If you have already performed the grafting and you don't see any
history beyond this commit, try running "git log" with the "--follow"
argument.
Branched from the monolithic repo kde-workspace, frameworks branch, at commit
049113e719dd2fc4446d054fa1a3aada330094f0