Restoring the windows only un-minimized them, so the window that had focus came
back without it and typing went to the desktop. Remember the active window when
minimizing and activate it again after restoring.
BUG: 450137
For a while, we used "qmllint disable unqualified" on lines containing
i18n calls to get the linter to shut up about them. The better way to do
this (since Qt 6.11) is to register them with qmllint as context
properties, which we now do centrally for the whole project.
So remove them all. This reduces noise in the codebase, and will still
show other unqualified lookups on the same line, making it possible for
qmllint to find them.
This change adds translation contexts to all translatable strings in qml
files that did not have any. Occasionally, the existing translation
contexts are updated for consistency with the newly added ones.
The string themselves are unchanged, save for one instance where the
Accessible strings were somewhat awkward and were a bit streamlined, and
one set of accessible strings in PanelConfiguration that were not
marked as translatable, but are now.
Co-authored-by: Nate Graham <nate@kde.org>
Implements some things that make qmllint happy: set 18n lines to
disabled unqualified warnings, make parameters explicit, qualify acess
where possible and the like. Also unversions the imports.
Minimizeall logic was a bit broken: used bitwise AND and was
checking for currentdesktop and currentActivity without managing the
case for "all activities" and "all desktops"
with the case for "all desktops" being different between wayland and X11
BUG:506734
The Minimize All and Show Desktop widgets cleverly share code and are
capable of undoing one another's actions when invoking the other's
functionality from the context menu.
However this becomes less useful while in Edit mode, which invokes "Peek
at Desktop" automatically. Then both widgets claim to be "Peek at
Desktop" and it can be hard to tell which one is which as you make
changes. So let's not do that.
BUG: 503624
FIXED-IN: 6.4.0
The Minimize all order currently walks through the windows in an
unsorted manner and requests minimization of each applicable window.
This can lead to a race condition if the order is unfortunate and the
requested minimizing happens after the applet is set to active (and thus
listening for windows that recieve focus). If focus is briefly passed to
another window then, the list of minimized windows is cleared, and the
minimized windows can no longer be restored by clicking the applet
again.
This change makes the applet instead walk through the list in least
recently used order, so that the window with focus is requested to
minimize last, and therefore no other window receives focus briefly
before it minimizes itself. This way, the ability to restore windows
consistently works, rather than only sometimes.
The Minimize All action when active (i.e. the action will undo Minimize
All" currently says "Restore All Minimized Windows". This can be
misleading, as undoing the "Minimize All" action is not the same as
un-minimizing all windows; windows that already were minimized prior to
using Minimize All will (and should) stay minimized.
This changes replaces the sometimes incorrect title with the unspecific
but accurate "Restore Windows". The translation contexts are also
updated to more concretely reflect how these strings are actually used
in the UI.
The Peek at Desktop and Minimize All Windows applets have context menu
entries that allow accessing either function; they currently use
checkable menu entries. This makes the entries look like settings,
rather than actions the user can trigger, leading to confusion.
This change removes the checkable property and instead uses the already
existing action labels as the context menu entries. Icons are also set
to fill the space previously used by the checkboxes.
BUG: 492717
The Minimize All widget currently minimizes all windows on all virtual
desktops, which is likely not what the user intended. The same, perhaps
even more counterintuitively, is true for activities.
I have changed this so that the widget now tracks the active state and
the lists of windows that it minimized (if any) separately per
activity/desktop combination. A user can now press Minimize All, do all
sorts of other things on other activities/desktops, come back to the
original desktop in the original activity, press the button again, and
have their windows restored. I think this is a significant QoL upgrade
over the existing version, where restoring will not work if the user
activated any window, even if it was on another activity or desktop.
This is a change in default behavior with no configuration option. I think
it's enough to do the right thing and not clutter up the UI with irrelevant
options; see also comment 1 in BUG: 475507. If desired, I can make the
behavior optional later.
FEATURE: 475507
FIXED-IN: 6.2.0
Fixes an oversight: people are going to upgrade from 5 to 6, some will
have 3rd party plasmoids from the store that will still be for plasma5.
We want a different error message when we know the plasmoid is "old" In
Plasma4 times we used to have for the pure JavaScript plasmoids an api
version key that could be used for things like that.
This makes it a bit more future proof for any future api change there
will be
CCBUG:474456
We want to use this versions if it exists, so the Panel icon will always
be monochrome when using a mixed mono/colorful icon theme.
BUG: 473205
FIXED-IN: 6.0