Summary:
Set the QtQuickControls style to our own: for QtQuickControls1
it will fall back to Desktop, while it will use our own org.kde.desktop
for QtQuickControlsStyle and Kirigami
Test Plan: systemsettings redesign uses qstyle qqc style, for both qqc1 and 2
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D5720
Summary:
We get the data as a QByteArray we can just ref the original data,
rather than doing a deep copy of the data.
Might save a few cycles when we have an SNI animating.
Test Plan:
Ran an app that I know uses xembedsniproxy which always sends data as an
image
Still had an icon in the system tray as before
Reviewers: #plasma, markg
Reviewed By: markg
Subscribers: markg, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D5670
Summary:
37014e643c introduced a change in the
behaviour of what happens when you select the top entry in the list.
Change makes some sense. Unit test was not updated, it therefore failed.
Test Plan: Ran unit test
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: joselema, rikmills, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D5570
Merge commit 6e6f1beda4 appeared
to not include the headers included in the original revert in
the 5.8 branch, causing stable branch build failures on Neon,KDE
and Kubuntu CIs. So add these back to 5.9 branch.
KRun::runApplication will show blocking error dialogs if it fails to
find the executable
This means we don't autostart the next app, which could be fatal if it
comes before...
Summary:
...kwin/plasma
We shouldn't be having blocking calls in ksmserver it can deadlock
And even in the best case we'd still end up blocking ksplash for 30
seconds
We then port to KProcess which was part of the motivation behind the
patch as it
has better stdout handling
This reverts commit 0f19e92f3e.
BUG: 379254
Also added port of autostarting applications to KProcess
It has better stdout handling
Test Plan: Logged in, still got my main session
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D5618
Summary:
This patch uses the new units.iconSizeHints.panel API to limit the
icon size to what the user sets for panel icons in System Settings,
avoiding them taking up too much space, particularly in wide vertical
panels.
See D5592 and D4550 for similar changes.
Depends on D5593.
CCBUG:378443
Reviewers: #plasma, mart, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D5594
Without this, that wasn't always the case if the top item was only the mouse
selection. This was presumably broken by 2e47d84772.
Also explicitly check the popup item, since it's now owned by Klipper.
BUG: 348390
BUG: 251222
Without this, that wasn't always the case if the top item was only the mouse
selection. This was presumably broken by 2e47d84772.
Also explicitly check the popup item, since it's now owned by Klipper.
BUG: 348390
BUG: 251222
Summary:
This introduces a TryIgnoreRuntimes key in taskmanagerrulesrc's Settings
group that can be used to list known runtime executables that can be
ignored when trying to identify the application owning a window by the
command line of the associated process.
A concrete example is the Frozen Bubble application. Frozen Bubble
installs a frozen-bubble.desktop with Exec=frozen-bubble, yet its
WM_CLASS is ("perl", "perl") and its command line is as follows:
/usr/bin/perl /usr/bin/frozen-bubble
The existing servicesFromPid() (now split into servicesFromPid() and
servicesFromCmdLine()) does not find the frozen-bubble service because
it works with the leading executable in the command line.
In this patch, TryIgnoreRuntimes is introduced with a default of
"perl". In the new code, after the initial command line matching pass
fails, TryIgnoreRuntimes is checked for whether the leading command
line executable is on the list, and if so, a second command line
matching pass is run with the remainder of the process' command line,
now succeeding.
Note that the approach of "try one more thing" rather than checking
against TryIgnoreRuntimes first is deliberate: The Exec= key in many
.desktop files contains a complete command line prefixed with the
runtime executable. In those cases we don't want to ignore the runtime
executable, or matching would fail.
To complement this, the "perl" WM_CLASS is added to the
MatchCommandLineFirst rc key. Due to the shoddy metadata Frozen
Bubble already ended up in servicesFromPid() regardless, but this
saves some busywork for this WM_CLASS, which can reliably be presumed
bad.
The patch also fixes a small logic error in the match-command-line-
without-arguments block, where the result of a KServiceTypeTrader
query was ignored and immediately overridden by another.
Reviewers: #plasma, davidedmundson, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D5522
Follow-up to the previous commit. KProcess has saner defaults for simply
launching an app and being done with it, no lost stdout/stderr or even SIGPIPE.
CCBUG: 369391
CCBUG: 370528
The "move" (copy in fact) of the autostart code from klauncher simply
switched to QProcess. This resulted in a number of problems, as the incorrect
handling of .desktop file command if it had placeholders (worked around
already), kdeinit is no longer used (not sure how much that matters nowadays)
and finally QProcess simply eats all stdout/stderr of all such processes
(which, when daemonized, can lead even to the processes getting SIGPIPE'd).
If the application to start is a KService, simply launch it as such.
BUG: 369391
BUG: 370528
Normally kWin is launched simply as "kwin" ("kwin_x11", whatever), but
in some cases it's restart command may be "/usr/bin/kwin", most notably
when KWin restarts itself after a crash. Failing to recognize this client
as the WM leads to KWin starting without any session management restoring.
CCBUG: 377756
Follow-up to the previous commit. KProcess has saner defaults for simply
launching an app and being done with it, no lost stdout/stderr or even SIGPIPE.
CCBUG: 369391
CCBUG: 370528
The "move" (copy in fact) of the autostart code from klauncher simply
switched to QProcess. This resulted in a number of problems, as the incorrect
handling of .desktop file command if it had placeholders (worked around
already), kdeinit is no longer used (not sure how much that matters nowadays)
and finally QProcess simply eats all stdout/stderr of all such processes
(which, when daemonized, can lead even to the processes getting SIGPIPE'd).
If the application to start is a KService, simply launch it as such.
BUG: 369391
BUG: 370528
Normally kWin is launched simply as "kwin" ("kwin_x11", whatever), but
in some cases it's restart command may be "/usr/bin/kwin", most notably
when KWin restarts itself after a crash. Failing to recognize this client
as the WM leads to KWin starting without any session management restoring.
CCBUG: 377756
Summary:
This is implemented by TasksModel and allows clients to reliably
query whether a row has an associated launcher. Useful for things
like Pin/Unpin action state or layout decisions.
Previously clients would have to reimplement something like
TaskTools::appsMatch on top of the model, which we absolutely do
not want to do - there should only be one copy of the app matching
logic for consistency's sake. In practice clients would do things
like fetch LauncherUrl and run it by launcherPosition(), which
omits appsMatch's AppId comparision, as an example of such unwated
drift. This approach also avoids the large performance overhead
involved.
The role is not implemented by the single-type or munging tasks
models as it has no use there.
Reviewers: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D5504
Summary:
We can get into a state where we have applets with broken metadata.
(which is a different bug)
Someone clearly wrote this code to try and guard against accessing an
invalid metadata when checking names, but instead made it so that when
we try to remove a specific task in the system tray we accidentally also
remove up any of these applets as well, which doesn't make much sense.
CCBUG: 377050
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D5422
Length is in microseconds, so watching a long video (in excess of 33.3 minutes) will break the slider.
CHANGELOG: Media Controller can now properly handle and seek long tracks (> 30 minutes)
BUG: 377623
FIXED-IN: 5.8.7
is still there and rightfully emits availableScreenRectChanged.
This will cause us to crash when we try to access the no-longer existing containment.
CCBUG: 378508
Differential Revision: https://phabricator.kde.org/D5321
We add our own "Close" item manually. The default quit entry would quit the application
but one Plasma Windowed instance can hold multiple applets each with their own SNI.
Also, add a separator (QMenu is smart enough not to show separators at the beginning of
the list, ie. if there's no applet actions)
Differential Revision: https://phabricator.kde.org/D5333
We've been having the configure button on notifications for a long time but so far it would
only ever invoke KNotification configuration UI with no way for an application to provide
its own, more versatile or extensive, UI.
When an action named "settings" is present in the notification the "configure" button will
instead invoke this action.
Differential Revision: https://phabricator.kde.org/D5424
Without this, that wasn't always the case if the top item was only the mouse
selection. This was presumably broken by 2e47d84772.
Also explicitly check the popup item, since it's now owned by Klipper.
BUG: 348390
BUG: 251222