CCBUG: 353026
This introduces a method to toggle the display of KRunner.
With the exception that if KRunner is visible, but not focused it will
get focused again. This is required for the pin feature.
This method is then used for the default invocation using the shortcut.
This means on logout we'll be gracefully closed down.
All of these are closing down properly anyway, but this makes things a
bit more explicit in case you managed to log out at an awkward point.
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:
We are krunner, our default config will be krunnerrc, we can load the
instance we've already loaded in the QPT instead of doing it again.
Reviewers: #plasma, apol, broulik
Reviewed By: #plasma, apol, broulik
Subscribers: apol, plasma-devel
CCBUG: 416145
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28368
Summary:
In wayland, QScreen::availableGeometry() returns QScreen::geometry(), we could get a better value from plasmashell
BUG: 386114
Test Plan: Krunner isn't overlapped by a top panel in all cases
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: meven, apol, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27458
This reverts commit 4000bd5db5.
Meta+space was already used for Change Keyboard Layout, which was not
known by me or the patch's reviewers. However users have started to
complain about this. Reverting to un-break people.
Sorry everyone!