This way we do not load old or broken third party RunCommand.qml files in KRunner.
This also allows us to get rid of compatibility logic for old versions of this file.
BUG: 457174
Summary:
This brings numerous advantages such as:
- easier admin configuration with drop-ins, overrides and multiple
hooks throughout (and only having to learn one tool)
- session cleanup on exit, avoiding that occasional part where shutdown
hangs
- startup that actually knows when things are up
- race free autostart and DBus activation at once
- logs that rotate are split by service and usable
- resource management through slices and cgroups (the part I want)
Over the past 2 years I've been trying to tidy up and encapsulate the
relevant parts of startup into the binary plasma-session so that we can
just runtime swap out that one part and supporting both paths will be
easy.
Support is toggleable via cmake flag, as it seems like it should be a
distro decision, especially as we will require a specific systemd with
the xdg-generator.
KDED/kwin/other services are attached to the relevant repo.
Task T11914
Differential Revision: https://phabricator.kde.org/D28305
squash
Currently when we invoke KRunner and it is already running we will start binary,
KDBusService will check if it is already registered and then call
org.freedesktop.Application.Activate. Cutting the middle out should improve the
time that it takes to show KRunner and make it less likely that key strokes are
lost. If KRunner is not running we, can rely on dbus activiation to start KRunner.
Unfortunately we cannnot call Activate with dbus-send because it doesn't support
it's argument type. Instead we can just use the existing display method.
CCBUG: 416145
Summary:
It was pointed out to me that using NoDisplay=true breaks starting
krunner.
Alternatively D24956 could be landed.
Test Plan: Still works for me, for some reason
Reviewers: #plasma, fvogt
Reviewed By: fvogt
Subscribers: fvogt, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28853
Summary:
Tell the parent Dialog class what the location is so it can configure
the dialog accordingly.
Install the desktop file where it can be found by kwin to know about
X-KDE-Wayland-Interfaces=org_kde_plasma_window_management.
While at it, make sure we don't leak if we return early.
Test Plan: Now I get the right animation
Reviewers: #plasma, cblack, davidedmundson
Reviewed By: #plasma, cblack, davidedmundson
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28783
Summary:
To avoid kwin warnings in ~/.local/share/sddm/wayland-session.log such as :
kwin_core: Could not find the desktop file for "/home/meven/kde/usr/bin/krunner"
kwin_core: Did not grant the interface "org_kde_plasma_window_management" to "/home/meven/kde/usr/bin/krunner" . Please request it under X-KDE-Wayland-Interfaces
Reviewers: apol, #plasma
Reviewed By: apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D24857
Summary:
Requests several KWin-specific interfaces to be used on KRunner and
Plasma Shell.
Test Plan: See D22571
Reviewers: #plasma, #kwin, davidedmundson
Reviewed By: #plasma, #kwin, davidedmundson
Subscribers: davidedmundson, zzag, mvourlakos, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D22589
* Don't autostart KRunner, use actions in the desktop file to
define global shortcuts and actions
* install its desktop file in share/kglobalaccel to make shortcuts default
* expand commandline options to permit more control via commandline
Differential Revision: https://phabricator.kde.org/D9037
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:
migrate the enabled runners from enabledCategories
to the more classic [Plugins] group
the krunner framework supports both, so as long
the enabledCategories entry isn't there,
it will work correctly with the other config format
Test Plan: ran on an existing krunnerrc with different sets of categories enabled, tested krunner and its kcm with it, all expected runner plugins were used both in the kcm and while searching with krunner
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2873
Checks whether a PlasmaShell interface is available, if so it listens
on PlatformSurface events to create/destroy a PlasmaShellSurface and on
move events the position is updated on the PlasmaShellSurface.
This makes specifying absolute paths on the commandline that are then
encoded into the config file work.
Not hard-coding the packackage prefix is also helpful on a multiarch
layout where the prefix is /usr/${host} but arch-independent files
should still be installed to /usr/share (i.e a level below the
prefix).
REVIEW: 125844
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