Summary:
Fixes regression from the startkde C++ re-write which made ksmserver
start the kscreenlocker in wayland session, resulting in the double
lockscreeens.
Test Plan: after applying patch I only get one lockscreen
Reviewers: apol
Reviewed By: apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D22021
Summary:
At the moment we had several scripts to start the different processes. With this we unify this code into an application that takes care of the whole process.
This allows us to:
- Save on process spawning, we don't need to run a separate process synchronously for every single thing.
- Don't have a redundant configuration file parser but reuse the one we've already optimised in KConfig.
- Issue dbus calls from the process itself instead of spawning qdbus.
- Removes a bunch of duplicated code.
Test Plan: Started different systems on different distros, on wayland and x11.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D21725
Summary:
Relevant code is already removed from startkde, remove it from plasma
wayland session as well
Test Plan: none
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D21426
Summary:
Writing a config files in $HOME at start-up is wrong way of setting
defaults, If defaults needs to be set, they should be set by krdb
instead of the startkde.
Another side-effect of writing config file is that this breaks the
distribution/vendor configuration, who might want to configure this
value by shipping kdeglobals in either /etc/xdg or $XDG_CONFIG_DIRS.
BUG: 407754
CCBUG: 389598
Reviewers: #plasma, ngraham, apol, davidedmundson
Reviewed By: #plasma, ngraham, apol, davidedmundson
Subscribers: apol, ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D21335
Summary:
KWorkSpace::detectPlatform among others use that, so make sure it's set.
On 5.12 it has export QT_QPA_PLATFORM=wayland already, so it's not necessary (?).
Test Plan: I had that patch applied locally for basically ever, works fine.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D18233
Summary:
Qt and GTK based applications have switched to using fontconfig for fonts
exclusively, so this code is mostly unused.
As for the remaining legacy X11 applications:
- mkfontdir only supports bitmap (e.g. PCF, BDF) fonts. For e.g.
truetype fonts, a mkfontscale call would be required. Lack of complaints
hints this is not used at all.
- the system dirs (sys_odir, sys_fdir) use KDEDIR(S), which is deprecated.
The dirs do not exist, thus the fontpath is unchanged.
- system dirs are typically allready included in the XServer font path
TLDR: (scalable) fonts in user dirs are not picked up due to missing
mkfontscale calls, and system dirs are already included.
This removes the dependency on xset and mkfontdir. The latter is important,
as e.g. on openSUSE the availability of mkfontdir triggers costly, extra
setup steps for X Core fonts on package installation.
Reviewers: #plasma, fvogt, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D16530
Summary:
kcminit had a slot to start processing something and a signal to emit
when it's finished.
For DBus that's quite bad practice as it can leave you hanging in the
case of a kcminit crashing. It's better to use the return of the
original call to signal when something is done.
From ksmserver we can then just use DBus timeouts set on the interface
than a secondary timer.
We also remove a pointless blocking call to kcminit introspecting
everything, if kcminit is not running it will return with an error
immediately which is no slower than checking first if it's not running
and faster if it is.
Test Plan:
Logged in
Session logs showed kcminit ran
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: zzag, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D16587
Summary:
kcheckrunning is only used by startkde, it shouldn't be in the ksmserver
folder.
No code or behavioural changes, just tidying.
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D15202
Summary:
As discussed the env variables are no longer exported. Thus Qt
applications follow the default qpa platform they are compiled with and
thus still function if they are packaged with a Qt without QtWayland.
Plasma's internal processes pick the qpa platform depending on the
session type as well as our flatpak apps.
KRunner and Plasmashell are adjusted to not leak the env variable they
set for themselves.
Test Plan:
Started a wayland session, verified with KWin's debug console
that plasmashell and krunner are wayland. Launched kwrite from both plasma
and krunner and verified that it's xcb
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D11447
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
Summary:
Consistent usage of install variables avoids mismatches for people who
make use of custom settings of install paths.
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D10400
Summary:
Consistent usage of install variables avoids mismatches for people who
make use of custom settings of install paths.
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D10400
This reverts commit aba3d48c07.
It causes issues for multiple GTK apps when fractional factors are used.
Given GDK already has it's own auto scaling, this seems to cause more problems
than it solves in its current form.
BUG: 389523
Summary:
Qtpaths doesn't work on some distros (Ubuntu for example, where it's
shipped with dev tools) and it's quite a slow way to effectively just read
an environment variable.
This is a rework of d90c63ac8f that
also correctly includes system directories.
Test Plan:
Put shell script in ~/.config/plasma-workspace/env
put shell script /etc/xdg/plasma-workspace/env
Rebooted. Confirmed both were run
Checked earlier 'if' statement works manually in bash.
Reviewers: #plasma
Subscribers: apol, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D9478
Summary:
Xwayland is only available within startplasma, so only call xprop in
startplasma.
Additionally, the environment isn't complete within startplasmacompositor,
as $DISPLAY needs to be exported to the activation environment as well.
BUG: 377122
Test Plan: pinentry-qt works now when started from gpg-agent.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: graesslin, davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D9597
Summary:
kwin_wayland will then use those values to set the default keyboard layout
accordingly.
BUG: 388249
Test Plan:
Ran startplasmacompositor, keyboard layout now set correctly and env
shows all XKB_DEFAULT_* variables set.
Reviewers: #plasma, graesslin
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D9512
Summary:
We don't remotely support multihead in plasmashell.
Nor do we support two plasmashells running to fake it.
SDDM doesn't either.
Kwin has some code, but we don't check the screen before
choosing the DBus service to use. I doubt it works well.
This kills some code, and a blocking call to klauncher.
(Note, multihead has nothing to do with xrandr spanning screens)
Test Plan:
Code grep
Compiles
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: apol, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D9171
Summary: We are just looking for files in .config and we already know where that is
Test Plan: Added a script and it defined things.
Reviewers: #plasma, hein
Reviewed By: #plasma, hein
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D9134
The reason why this was added is not valid anymore now that we set the QQC2 style in C++. Setting it causes crashes in QGuiApplications
that need to be worked around with an ugly hack in plasma-integration.
Differential Revision: https://phabricator.kde.org/D7998
Summary: As now it is set by our QPT
Reviewers: #plasma, gladhorn
Reviewed By: #plasma, gladhorn
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7936