Summary:
BUG: 414399
FIXED-IN: 5.18
Test Plan:
1. Lock screen
2. type something in the password field
3. Close lid/suspend system
4. Reopen Lid
Before:
Password text is kept as in step 2
After:
Password text is empty
Reviewers: #plasma, broulik, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D25487
This allows new startup procedures to use a session manager and also
allows us to slowly replace the session manager without breaking plasma.
Following on from the previous refactor, Startup and Shutdown are moved
from kmserver and the previous calls into KSMserver are replaced with
DBus calls.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D21995
Previously, it would ask ksmserver to show the logout prompt and otherwise directly initate a logout through libSM.
The latter got removed, which is a good thing, but now we need to always know ksmserver which should know what to do.
Differential Revision: https://phabricator.kde.org/D22264
Summary:
The old code path is old and even sometimes uses the ICE protocol to
start a logout from ksmserver. It's quite archaic and unreadable,
KDisplayManager is even worse.
The new code consists of two parts.
A QML friendly front end QObject that we can register in a plugin that
can trigger actions such as prompting a logout or suspending the system
and a singleton that talks to the relevant backend.
Backends are:
* Any logind interface
* Consolekit2
* Consolekit0.4 + UPower
New API loading is also entirely asyncronous.
There are some behavioural changes:
* Creating a logout prompt is called directly instead of going via
ksmserver. The prompt then calls into ksmserver when accepted
* Suspend is called directly instead of going via powerdevil through
some kdelibs4support solid code.
All DBus calls use generated XML files, instead of big QDBusMessage
commands. It's a bit overkill in terms of what we generate, but that's
ready for moving SessionModel in here and killing KDisplayManager.
Patch looks huge because of all the XML files, but is otherwise very
simple.
It is not currently an API break.
Test Plan:
Ran sessionstest on my logind machine
A BSD user tested CK1
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: pino, broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D19389
I got "#define HAVE_X11 TRUE" and errors because of that where #if was
used.
This also obeys the logic that HAVE_X11 is set (in the toplevel
CMakeLists.txt) not only when X11_FOUND but also when XCB is found.
Summary:
This is a preparation step to unset QT_QPA_PLATFORM from the wayland
startup session script. Setting QT_QPA_PLATFORM breaks 3rd-party Qt
software which does not bundle QtWayland. Most prominent example is
the Qt installer itself (see
https://bugreports.qt.io/browse/QTBUG-60222).
On the other hand our Plasma workspace applications need to be forced to
Wayland on a Wayland system. So we have a conflict between we want to
set QT_QPA_PLATFORM and we don't want to set QT_QPA_PLATFORM.
This change adds new API to KWorkspace to address this problem. The new
method adjusts the QT_QPA_PLATFORM based on the XDG_SESSION_TYPE
enviornment variable. It is completely opt-in. Meaning applications need
to explicitly add the call prior to creating the QGuiApplication and if
the user specifies either QT_QPA_PLATFORM env variable or any of the
-platform command line argument variants, the platform detection is
skipped.
The change also adjusts all plasma-workspace applications which should
use Wayland on Wayland to use the new API. The startup script on the
other hand still sets QT_QPA_PLATFORM. We also have applications outside
of plasma-workspace which needs this detection. Examples are:
* powerdevil
* systemsettings
* kinfocenter
Once this change is merged those applications can be adjusted by linking
against PW::KWorkspace and afterwards QT_QPA_PLATFORM can be unset from
startplasmacompositor.
Test Plan: See added autotest
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D10816
setLock was used to tell kdm not to re-auto-login if session is in
crash-restart loop. However given there is no kdm not it serves no use.
Only use was in ksld and was removed in dcdb990e38
Reviewed-By: d_ed
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