Summary:
Forking and printing a PID gains nothing.
The new startplasma script tracks the process used to start ksplash
itself.
BUG: 380495
Test Plan:
Logged in, saw a splash
Ran the test from systemsettings, saw a splash
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: apol, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D21890
There's an kcminit stage that wasn't documented.
Also change m_stage and then check it so the number here matches the number of stages in the comment.
CCBUG: 405446
Differential Revision: https://phabricator.kde.org/D19801
Loading the theme and setting everything up can take a while.
Ensure that we catch all setStage calls that might have been emitted before we were fully up.
CCBUG: 405444
CHANGELOG: Reduced likelihood of KSplash not being dismissed properly and only timing out after 30s
Differential Revision: https://phabricator.kde.org/D19753
Summary:
Due to the nature of cascading configs we have already loaded and parsed
kdeglobals, it's wasteful to do it again. Especially in ksplash where startup time is important.
Test Plan:
Changed lnf to org.obnosim.tweak.desktop which contains a new splash
Logged out and back in. Still got a different splash.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D11923
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:
Instead of guessing it will be the first argument, which leads to very
weird behavior.
Test Plan:
Checked the kcm still works
Played around with it
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D8993
It is using QDateTime and secsTo which needs to take into potential timezone changes and what not.
I don't think it's worth porting it to QElapsedTimer, so just remove it.
Differential Revision: https://phabricator.kde.org/D4709
Summary:
Reduces code duplication and we always opperate on cached value, that
is the platform is only checked once in application life cycle.
Reviewers: #plasma, hein
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2342
Summary:
On Wayland ksplash only showed on one screen. This is due to QtWayland
not passing any hint to the compositor on which output to show the
fullscreen window. Thus the compositor placed all windows on the first
output.
This change uses KWayland to work around this problem by performing
a deeper integration. It doesn't use fullscreen windows any more, but
normal windows in combination with the PlasmaShell interface. That way
the windows can perform absolute positioning.
As the window is no longer fullscreen, it's marked as OnScreenDisplay
which makes sure that KWin raises it on top of all other windows. Also
ensures that opened windows aren't raised above it as used to happen.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2242
Summary:
We want to drop workspace code from KDED as it doesn't make much sense
semantically.
This patch ignores the messages from kded, so that they can be dropped
in a future frameworks release and introduces a new signal sent from
startkde.
This puts all workspace related code in workspace.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D1859
We initially set a ksplash window to a screen's availableGeometry then
monitored and set to screen->geometry. Using a mix makes no sense.
Won't make any practical difference as this is all started long before
plasmashell, but it's technically more correct.
REVIEW: 125654
On Wayland no window is created with BypassWindowManagerHint. On
platforms != X11 it's better to just set it as fullscreen. This has
the disadvantage that we cannot ensure that the splash stays top of
stack. Might need support from e.g. Wayland compositor.
a little class that loads files from the configured l&f package
with fallback to the default one
provides a signal when the theme changes, for things that need to react at runtime
It doesn't depend on Qt5::Widgets anymore, also QGuiApplication loads less
things so it should be also lighter, which is good for a splash screen.
Reviewed by David Edmundson
All QQuickWindows share a default format. By setting a custom format
it overwrites the default and this results in a format without a
stencil buffer being requested resulting in possible rendering errors.
This was used to get an alpha buffer. Instead use the static method
on QQuickWindow to request an alpha buffer.
REVIEW: 118123