The toplevel menu is positioned using the plasmashell protocol.
For QtWayland to create popups we need a input serial. The input serial
is manually set to the enter one for creating poups.
BUG:430662
FIXED-IN:5.23
Apparently this was introduced to prevent the window losing focus if
https://bugs.kde.org/show_bug.cgi?id=310476 is to be believed. However
on X the window does not lose focus without it.
Furthermore it actually improves keyboard navigation on X, which after a
child menu was closed stopped working.
On Wayland this prevents things working at all.
BUG:420980
FIXED-IN:5.23
if the condition is covering the entire function then we can simply
return early, get less nesting depth and quicker exit condition reading
as you don't have to scroll down to see if anything happens after that
huge if
This applet no longer has a config window with any non-autogenerated
content in it, so it doesn't make sense for the configure button to open
that window rather than the Automount KCM. This is what most other
applets do nowadays; the Disks & Devices applet should be consistent.
It's wrong to check the status of the plasmoid before closing it,
since the status is just the internal state of the plasmoid and
it's changed by actions from the plasmoid itself. So, the Passive
status doesn't indicate that the plasmoid is hidden in the system
tray, because the user can configure to always show this plasmoid.
Store as kdedefault only the colorscheme, colors data can still live in kdeglobals
They are not used to change default.
This will simplify code and fix some bugs when we apply theme without all groups
KIO is important for a full plasma experience. KIOExtras especially for
the thumbnails that we use within plasma-workspace and is something we
have had reports about.
This ensures that the first `update()` call with the summary will be shown
atomically to the user rather than show an empty job popup briefly.
Also handle the delay on a per-job basis, previously there was a common
timer, which made no sense.
this fixes l10n integration magic from ECM (KDE_L10N_SYNC_TRANSLATIONS,
KDE_L10N_AUTO_TRANSLATIONS) that download the po dir into the build dir
for git builds.
ki18n_install is looking for po dirs and not doing anything when it
can't find any. so, by default this changes nothing. when used with the
aforementioned options it enables translation building for git builds.
for tarball builds this has no negative impact since releaseme is smart
enough to check if a cmakelists already contains the ki18n call before
append its own.
The notification applet's config window is blank, and only shows the
auto-generated Shortcuts and About pages. This makes it not very useful,
as typically the user will want to get to the KCM instead. Other
applets with blank config windows (such as the Bluetooth and Networks
applets) make the configure button open the KCM instead and nobody has
complained about it, so let's do the same for the Notifications applet.
This has two advantages:
1. Greater consistency among applets
2. The "Clear all" action always appears visibly in the header without
getting pushed into a hamburger menu
3. A cleaner UI than the one merged in
https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/837
BUG: 433140
FIXED-IN: 5.22
This reverts commit 5893574163.
The approach taken in this commit was sub-optimal and not consistent
with what we do for other applets, so it needs to be re-thought.
Right now the applet puts the entries to open the KCM and Energy Info
page in a hamburger menu, while the Configure button opens the applet's
own settings window which has only one item in it. This emphasizes the
less important thing, while de-emphasizing the more important thing.
We can solve this by making the applet's configure button open the KCM
instead of the applet configuration window. This makes the configuration
window inaccessible, so we delete it and move its one setting into the
hamburger menu along with "Show Energy Information". This is okay as
these two are lesser-used settings.
Overall this should make the actions easier to access and use, and more
relevant to the user.
BUG: 407560
FIXED-IN: 5.22
Previously the "clear clipboard history?" dialog used `KMessageBox::questionYesNo`
which if "don't ask again" is ticked then saves the answer even if No was answered.
This can cause the user to not be able to ever clear the clipboard ever again. This
commit changes it to `KMessageBox::warningContinueCancel` which doesn't do that, and
is more appropriate for the kind of question we're asking.
BUG: 336053
FIXED-IN: 5.22
We recently changed it so kwin defaults to memptr because some clients
couldn't deal with dmabuf. We still want dmabuf to be used as it's less
stressful to the system and we support it just fine.
Use the system's virtual keyboard instead of relying on
QtVirtualKeyboard specifically for the lock screen.
It means less code (when we can remove the virtual keyboard part),
better integration and one dependency less.
- formats KCM, it is useful for mobile to be able to configure various
things like number format, currency formats etc
- nightcolor KCM, it is also useful for mobile
- notifications KCM, currently not all options are useful for mobile,
but neverthless, this allows it to be used on Plasma Mobile
Moved from plasma-desktop at 7affae246d4a90ce53f3c5061f83567488928b96
The fact that the commonly-used "Clear History" action appears in a
hamburger menu has been a common user complaint about Plasma 5.21.
This happens because it's defined as an action, and the applet has two
actions ("clear history" and "open KCM") and when there is more than
one action, they all go into a hamburger menu. This makes the
commonly-used clear action more difficult to find that necessary.
A reasonable long-term solution would be to refactor the action
visibility code in plasma-framework to allow the display of more than
one action in the header without always putting them all in a hamburger
menu, or allowing the developer more control over this. However since
that would require frameworks changes, it can't be done in Plasma 5.22
because 5.22 requires Frameworks 5.82 which has already been tagged. So
let's do this simpler fix for now to fix the UX regression.
BUG: 433140
FIXED-IN: 5.22
"If $XDG_CONFIG_DIRS is either not set or empty, a value equal to
/etc/xdg should be used."
If XDG_CONFIG_DIRS was not set prior to startplasma, which it ordinarily
would not be, then the previous code would set the value to "$newdir:"
which was silly and also wrong as per the spec quoted above. Instead
default to /etc/xdg/.
Also camelCase the variables to follow our coding style.
There is no conceivable use case for turning this off, and the UI is
being removed in https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/447.
So let's remove the backend code too, or else anyone who for some reason
had turned it off would be left without a GUI method of turning it back
on again.