Kernel developers have said that charge limits are approximate, not
exact[1]. As a result, if for example you have a charge limit of 80%,
your battery might actually stop charging anywhere between 78-82%. But
if we only list the charge limit itself, it looks to users like a KDE
bug when the battery stops charging at any number other than that limit.
To alleviate that, this commit adjusts the text to indicate that the
charge limit is appropximate.
[1] https://bugzilla.kernel.org/show_bug.cgi?id=215531#c3
Right now we change the intensity of shadows based on the color scheme's
text color, but with a property called "lightBackground". This indicates
that we wanted to do it based on the background color itself, but did
not or could not, so settled on using the text color as a proxy. However
this is wrong; there is no relationship between the active color
scheme's text color and the color of the background image.
Even if we could or did fix that, it would probably still be wrong,
because using lighter shadows on a genuinely light background would
result in worse contrast and readability, especially if the light
background was very visually busy.
For these reasons, in most other places, we have since settled on the
mantra of "shadows should be black", and this commit makes the lock and
login screens follow that convention as well.
BUG: 449985
FIXED-IN: 5.24.2
I cross-compiling for the recently released Arm Morello boards and the
QtQml debugger is not yet compatible with CHERI-enabled architectures so
I had to build QtQml with -no-qml-debug.
Creating and deleting users needs that too
This also means that we need to be more correct with the types passed into the DBus calls since with passing the args as list we don't get implicit conversion to the correct type any more
BUG: 450122
FIXED-IN: 5.24.2
This commit gives the accent-overridden pieces of the color scheme overridden
foregrounds as well, preventing readability issues with accents and certain color
schemes when paired up. Additionally, this MR will also prevent readability issues
with lighter colors as the text color is determined between being black or white
by the color's luminosity, aka brightness.
In addition, color schemes can be marked as applying the accent color to active
and/or inactive titlebars. This is exposed to theme creators and can be changed by
users as well.
When we are using a charge threshold, the kernel may stop charging
within a percentage point of the actual threshold and this is
considered correct behavior, so we have to handle that. See
https://bugzilla.kernel.org/show_bug.cgi?id=215531.
Also, Upower may give us a status of "Not charging" rather than
"Fully charged", so we need to account for that as well. See
https://gitlab.freedesktop.org/upower/upower/-/issues/142.
BUG: 435931
StatusNotifierItem.qml does not explicitly handle the case of
right-clicking, which causes right-clicks to be ignored unless you also
happen to have the libappindicator package installed, which injects a
handler for this itself. But this should work even if you don't have
that package installed; this commit fixes it.
BUG: 449870
FIXED-IN: 5.24.1
Sad that we still need to do this because the patch to fix that bug
never got merged because it failed to adjust a failing test, and has
bitrotted in the two years since then.
BUG: 448387
FIXED-IN: 5.24.1
OpenUrlJob
We are starting a KService, but with extra steps. Use the appropriate
job.
This fixes launching apps since OpenUrlJob, by default, doesn't launch
executables
BUG: 449900
There is also the possibility that the screen mapping by screenpool gets
lost or partially lost ( like removal of plasmashellrc but not
appletsrc)
In this case if it was a multimonitor setup there will be containments
assigned to a screen number which doesn't have a known connector.
List them as well, marked as "Unknown 1" "Unknown 2" etc.
This is an edge case of the edge case but it well possible it happens so
it should be managed as well

libklipper_common_SRCS are compiled into the libklipper_common_static
library and then linked for the Klipper application. The same sources
are also compiled again to build plasma_engine_clipboard via
plasma_engine_clipboard_SRCS. This results in almost double the
compile time and repeated diagnostic messages (if there are any).
Use the previously built static library for linking the data engine.
When adding KCMs to the desktop, we add the entry with NoDisplay=true so that it does
not show up in a search. However before this commit, that would cause the entry to
not show up on the desktop as well.
Because of the filtering in the services runner, we already make sure that only relevant
entries can get added to the desktop in the first place.
BUG: 449243
FIXED-IN: 5.24.1
If we have multiple sources for the application, we end up with multiple entries.
This is not useful in any scenario, because the generated appstream URL
is exactly the same.
Consequently we should return from the function when we created the first action.
BUG: 448564
All the sizing and positioning code in this SvgItem relies on assumption
that plasmoid's location would we strictly either one of four edge
types. So this patch ensures that this thin separator line is only
visible when this assumption is true. Otherwise its both width and
height get reset (by binding `undefined`), and SVG starts filling up
the whole available area, which leads to a visual glitch that looks
like a as grayed out or faded applet.
See also: https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/576
BUG: 449535
Double quoted multi-line strings are custom Qt extension, and thus
should be avoided, as they are problematic for syntax support in
various text editors.
GIT_SILENT