Utilility windows are typically omitted from the task tree, unless they
are in demands-attention state. SVN r901886 (cf. bug 178509 from 2008)
introduced a bug by preventing tasks included in this fashion from
reaching active state, causing the demands-attention state not to ever
be cleared. Additionally, a separate bug prevented utility windows
losing demands-attention state from being removed from the task tree
thereafter. This patch fixes both.
This cropped up with recent versions of The Gimp, which curiously
sets its utility windows to demand attention when opened from within
the app. Since windows demanding attention are also implicitly exemped
from grouping, this appeared to users as a failure of the grouping
logic.
BUG:352477
CCBUG:178509
Libtaskmanager so far only has compile time checks for windowing
systems resulting in the X11 specific code to be executed on platform
wayland which of course causes crashers.
This is a workaround by at least ensuring that we only call X11 specific
code on platform X11.
REVIEW: 125445
This is a follow-up to fbd4a876, which introduced an option to
have running tasks always use the same icon that would be used
for a launcher item. The Task Manager applets subsequently were
updated to default this option to on, addressing frequent user
complaints that Task Manager launchers don't respect their
theming choices (due to window icons overriding the icon theme,
or custom configured icons) or that the icon changes when a
launcher item is replaced by a running task item.
However, for windows that can't be mapped back to an application
known to the menu system, this meant falling back to the MIME
type of the executable, making applications that aren't properly
installed usually end up with application-x-executable or some-
thing else.
This commit changes behavior so that if the launcher URL pro-
duced for a window isn't a valid KService storage id, the window
icon is used again. In turn, since the behavior is now no longer
a trivial yes or no, the option has been dropped from the
library again, making the menu-icon-takes-precedence approach
always-on. In turn, if a launcher item is generated while a
window is around, the icon is taken from the window and stored
persistently. If a launcher is added programmatically using an
URL that can't be mapped to the menu, the icon will be updated
from the window icon at runtime.
BUG:351624
CCMAIL:jkt@kde.org
With the option disabled, task items use the window icon whenever
possible. With the option enabled, the launcher icon is used
instead. This prevents a jarring icon change when applications use
a different icon theme from Plasma Desktop, at the cost of losing
realtime window icon updates being reflected in the Task Manager.
Defaults to on. The Task Manager applets are getting a checkbox
for it.
This is a rock-and-a-hard-place decision. Users are regularly
upset about what they perceive as their theming choice not being
respected, and pleading for app fixes appears to be fairly fruit-
less. It also looks like Wayland will nix runtime window icon
changes. Nonetheless this will likely produce complaints about
edge cases (e.g. Gimp miniature window previews).
CCMAIL:348050
This fixes launchers without .desktop files to not have icons in some
cases. The patch makes sure the icon that is read from the config file
is actually used for the launcher.
Reviewed-by: Eike Hein
Cf. ffdeb08a in kde-workspace.git (unfortunately plasma-workspace.git
lost libtaskmanager history) for reference.
CCMAIL:mgraesslin@kde.org
CCMAIL:bhush94@gmail.com
CCMAIL:ivan.cukic@kde.org
Avoids ungrouping while GroupManager is destroyed and unnecessary
work in connected visualizations, and in practice a crash in Task
Manager from the ungroup model transaction hitting a half-destroyed
applet.
BUG:334772