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
ShellCorona is a messy class doing mulitple functions.
This patch splits out all telemetry code into a new class, meaning it's
easier to extend. Code remains the same.
Aggregate text for KRunner in DesktopView to prevent eating fast-typed characters.
CCBUG: 416145
partial solution: resolved for DesktopView, not resolved for running KRunner from shortcut
Test Plan:
When DesktopView is focused, typed characters show KRunner query.
All fast-typed characters should now appear correctly in KRunner window,
instead of only first typed character.
The HIG specifies that actions and menu items should start with action
verbs, and that ellipses should only be used for actions that open a
separate window to complete the action. This commit applies that to the
"Activities..." menu item.
Qt 5.15 introduces a new syntax for connections.
Framework code can't port away due to having to support Qt5.12 which
does not include the new syntax.
This filters out the category.
We should remove this once we depend on Qt5.15 in frameworks.
BUG: 424259
Currently updating the DesktopView geometry and emitting signals notifying of changes to screen geometry are connected independently to QScreen::geometryChanged(), while screenGeometry() as well as availableScreenRect() and availableScreenRegion() depend on the DesktopView geometry. The incorrect order of slots being called causes the task manager to behave incorrectly on screen configuration changes, displaying either no windows or windows from a wrong screen. This also affects the desktop pager widget when configured to show the current desktop only.
BUG: 373075
The volume setting in plasma-pa can exceed 100%. Currently the display is limited to 100%, which can result in a mismatch between what is shown in the applet and in the OSD.
This adds an overload to volumeChanged to keep the old one compatible given it is used by e.g. kmix
the geometry property remained broken for all plasma5 lifetime.
reading it makes sense, writing it not so much (ad it depends ffrom
containment to containment)
reading works, writing stays noop (for max compatibility)
I don't understand why QQmlDebuggingEnabler prints a warning, it's no
less secure until other command line args are passed.
However the warning is scary, so lets put a guard on it.
BUG: 422228
Summary: When disconnecting the primary screen on a dual monitor setup and reconnecting it back, the available size of the secondary screen desktop may be reduced to the thickness of the primary screen panel, as can be seen by dragging a rubber band or trying to move some widgets. This apparently happens because the QML bindings had last been updated at the short moment when both panels were temporarily placed on the same screen. Update availableScreenRect therefore when a panel changes its screen.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29831
Summary:
Since the release of KDE Frameworks 5.68.0 we can now
use the methods exposed in KActivities::Controller to trigger a
switch to the previous or next activity from ShellCorona.
Reviewers: ngraham, ivan, apol
Reviewed By: ngraham, apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28083
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
Summary:
* Make the panel spacer take a lot more space when is in expanding mode, so much
to "win" against the taskbar and collapse it to its minimum size (seems the
most expected behavior after some discussions in vdg channel)
* make it paint a background when in edit mode
* when two spacers are present in the panel, they try to center all the content
that is in between them (if possible), so that is always at the center of the panel,
even if there is more content on one side rather than the other
Test Plan:
{F8110981}
{F8112648}
Reviewers: #plasma, #vdg, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, davidre, broulik, ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27481
Summary:
It doesn't make sense to pass const `QWindow`s to `PanelShadows` because
a `KWindowShadow` needs a mutable `QWindow` object.
Test Plan: const_cast in PanelShadows::Private::updateShadow is gone \o/
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26985
Summary:
Before loading the view, query all plasma processes and show why they're using
KUserFeedback.
Depends on D26569
Test Plan: Manual testing
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: ngraham, davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26570
Summary:
We currently have a mouse-wheel action to switch to the previous/next activity,
but it wasn't possible to assign a global keyboard shortcut to these actions.
As discussed on Phabricator, this doesn't define a default key-sequence yet,
but at least gives users the possibility to assign there own ones, which wasn't
possible before.
Reviewers: apol, davidedmundson, #vdg, #plasma, ngraham
Reviewed By: davidedmundson, #vdg, #plasma, ngraham
Subscribers: ngraham, romangg, ivan, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D22382