In the process, the onWheel handler is moved up to the main file so that
it gains write access to the screenBrightness property. This is how
other scrollable applets handle the same situation.
By setting the deprecation version for KRunner to 5.91,
the negated deprecation wrapper will evaulate to true and
we get compatibility typedefs.
This way we do not need to add the typedefs manually or
add `using namespace Plasma` to the plugins.
Task: https://phabricator.kde.org/T15140
This has been opt-in for several releases and on by default in one major
distro. Minor issues were found, but they have all been resolved.
There are still checks that the user has systemd available and with a
version new enough for autostart.
The Plasma 5.24 wallpaper changed to a JPEG but this change had to be
reflected in the SDDM config file, which calls out the wallpaper by its
exact file path. This commit does that.
Despite our best effors we currently do not match Gedit windows to their desktop file. It manages to evade all of our heuristics.
There is a reliable way to map it and other GTK apps though, the _GTK_APPLICATION_ID window property, which is more or less the same as our desktopFileName property
In the CompactRepresentation, we can use existing top-level properties
instead of defining and redefining a bunch of new properties at
various levels, which makes the code harder to read and more indirect.
Otherwise we do not start the process, which will cause a timeout in KRunner.
The goal of the condition was to prevent the process from starting up
unnecessarily, but having a timeout in KRunner in that case is far from ideal.
With https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/796 the runner
will get disabled when one disables baloo indexing.
Consequently the runner will not get called from DBus.
In Wayland session data sources for modifier keys might be unavailable,
in which case the whole `source.data.Alt` is undefined. Standard
JavaScript try-catch didn't help much, because short-circuiting
operator && simply returns left-hand-side `undefined` value which is
falsy. It used to spam error messages to a console at a rate
proportional to the number of top-level menu items:
file:///usr/share/plasma/plasmoids/org.kde.plasma.appmenu/contents/ui/main.qml:112:17:
Unable to assign [undefined] to bool
Amends 156415f377
f9e39815dc introduced a few regressions by
blowing away the custom CompactRepresentation when there are no
batteries. This introduced a race condition that sometimes set the icon
incorrectly and also broke scrolling on the applet to change the volume.
This commit fixes those issues by using the existing infrastructure for
the CompactPepresentation, but simply swapping out its custom battery
icon for normal icon when there are no batteries.
The entire KCM was diabled due to crashes:
Since c305dcd85d the relevant
section is disabled instead of crashing. This allows us to reintroduce
the KCM, albeit with previews currently disabled.
BUG: 439375
FIXED-IN: 5.24
In the port this snippet got lost. Without the suffix we lose information needed by clients.
This patch will also affect the names presented as a subtitle in the list.
If that is undesired we can introduce a new role.
BUG: 447903
if we do immediately setPrimaryOutputName, the name is still :0.0
because the app didn't have time to react yet (since here we are in the event filter,
we are just before that by definition) so the output name can still be wrong.
when we go from no outputs to one, at this point the name of the one QScreen
instane is still wrong :0.0 which will be renamed right after.
BUG:447936
It was nuked years ago, so the id does not exist any longer, and
generated a runtime error like this:
file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/CompactRepresentation.qml:132:
ReferenceError: jobProgressItem is not defined
Amends da86d1e40a
Libtaskmanager's buffer for spa_builder is too small on certain
configurations. Because podBuilder->state.offset is never reset, the
buffer space can run out when EGL returns a long list of dma_buf
modifiers, causing PipeWire negotiation to fail.
An example is when EGL returns 20 modifiers. There are 6 formats defined
in pipewiresourcestream.cpp, for each format it will construct 2 frames,
one with 21*8=168 bytes long of modifiers. The modifier lists for all
frames will be 6*168=1008 bytes (only 16 bytes left of 1024 bytes), let
alone other frames.
BUG: 446061
Outside of tablet mode, you don't need a virtual keyboard except for the
extremely niche case of not having a physical keyboard plugged into a
desktop machine. For all other use cases, the tray item to show and
hide the virtual keyboard is an annoyance when you're not in tablet
mode, so let's demote it to the expanded popup to save space in the
System Tray and make its contents more contextually relevant.
Normally we don't use Kirigami in applets, so this might on its face
seem odd, but it's there for a reason, so add a comment explaining why.
GIT_SILENT
the filtermodel only sorts by timestamp of the device, not the actual
types we visualize so you can conceivably have sections appear multiple
times
```
Drives
--------
/dev/sdc
Media Player
------------
/usb/123
Drives
-------
/dev/sdd
```
a device without StorageAccess cannot be mounted, so do not show the
mount default action for it, instead use the file manager action (with
the assumption that the trigger actually knows what to do with it, which
chances are it does not because we ignore the predicate system for some
reason - I've recorded a todo about that)
when then triggering the default action we check if the device supports
MTP and if so run the MTP predicate instead of the openin predicate
the end result is that phones with only MTP actually open via mtp://