This uses the newly introduced API in plasma-framework to use a custom calendar
header in the applet header and moves the events and timezone information to the
left column and the calendar to the right column.
This is generally what we do for other KCMs, and the UX is virtually
unchanged from the current multi-KCM dialog, with the exception of being
able to navigate elsewhere if you want.
BUG: 423761
FIXED-IN: 5.22
There's no point, since it always says "-" and just covers up the icon.
Let's only show the overlay if there are actually any batteries.
BUG: 435890
FIXED-IN: 5.22
Taken from commit 4ce9a4a915511acbd41450da486d8e5d5bae10da in plasma-desktop
The commit history of the KCM can be followed in 9db1c0593e84cdb705fc61cddbdc4e5a9c318b97
Use a single timer instead of two and use flags for events that can
lead to a relayout. the flags at the moment are size change and config
key for serialization change.
if they happen in the same moment (for instance when the serialization
config key is dependent from the size) if the new key already is saved
consider it correct and don't try to keep the distance to screen edges
from the old layout, ruining the saved one
CCBUG:360478
1c0c824cc5 uses Screen but that is inside
in QtQuick.Window. This happens to work in the lockscreen (something else
importing it above it?) but breaks in the sddm theme, with the default image
being super pixelated because sourceSize defaults back to 22x22.
BUG:418546
Highlight should work correctly if selected applet changes state
and is moved to hidden area and then comes back to visble area.
BUG: 435687
FIXED-IN: 5.22.0
Since both the splash screen and the logout greeter have an exclusive
zone of 0, they may be resized to accommodate for other layer shell
surfaces, for example panels.
We need to set an exclusive zone of -1 to ensure that the splash screen
and the logout greeter fill the entire screen.
The current KRunner utility methods have some issues:
- The runner id is kindof useless, especially when we only have one
action
- We basically create a bunch of temporaries whenever we use the utility
methods
- If one really has more actions and more complex logic one is better of
using QHash with the actions and an enum as the key
This saves us the custom implementation of mimeDataForMatch and
allows us to get the urls for example in milou, just like we already can
with the DBus runners.
The fake drag-and-drop events caused by the panel reuse the real event's
mimeData, and were handled asynchronously. By the time the fake event
has been dispatched from the event loop, the mimeData may already have
been freed. Send the fake events synchronously again.
A guard is added to avoid the original potential bug of infinite recursion.
BUG: 398440
If a service has recently failed multiple times, systemd will (quite
cleverly) not restart it. This includes DBus activation so is indepdent
of the systemd boot.
If a service gets into a broken state on a previous session where ithas
different environment variables and a different display server, we
shouldn't treat it as failed for a new session.
This shouldn't be needed with the other recent fixes, but it seems like
a good practice nevertheless.
Gnome are doing something similar:
https://gitlab.gnome.org/GNOME/gnome-session/-/blob/master/gnome-session/main.c#L565
Tell QQuickWindow when there is an alpha channel, otherwise it's
considered opaque and Qt/mesa renders it disregarding what's underneath.
Sometimes windows will have translucent areas and we want these to be
rendered cleanly on top of the scene. Alternatively it shows weird
noise.
This is also what a lot of other runners do, with such short
queries the user does not get many useful results or they are
immediately removed if additional letters get typed.
Since these KCMs can display user and distro provided content, we can't
ensure that everything will begin with a capital letter. Accordingly, we
should sort the grid case-insensitively to prevent the entries starting
with lowercase letters from being shunted to the end.
CCBUG: 404608