https://bugs.kde.org/show_bug.cgi?id=514758
Bug ID: 514758
Summary: Taskbar does not show a normal window from a specific
app (UTAU through Wine)
Classification: Plasma
Product: plasmashell
Version First master
Reported In:
Platform: Arch Linux
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: Task Manager and Icons-Only Task Manager widgets
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Target Milestone: 1.0
SUMMARY
When running UTAU (https://utau2008.xrea.jp/) through Wine on Plasma, its
window does not show up in the taskbar. It does show up in the Alt-Tab
switcher.
This has been the case ever since I started using Plasma around 2017~2018,
possibly longer, but it's only ever been this one specific Windows app and, as
far as I remember, only happened on Plasma. I do not know how to make this
reproduction more minimum, and I'm opening this more to put it out in writing
that this issue exists.
This issue exists in both Plasma (X11) and Plasma (Wayland).
STEPS TO REPRODUCE
I don't know how to make this more minimal, so unfortunately this kind of has
to make do.
1. Download UTAU from https://utau2008.xrea.jp/ and install it into a
wineprefix
2. Run it
3. Observe that its window is not present on the taskbar
OBSERVED RESULT
UTAU's window is skipped by the taskbar, but present in the Alt-Tab switcher
EXPECTED RESULT
UTAU's window, as a normal window, should show up on the taskbar.
SOFTWARE/OS VERSIONS
Operating System: Arch Linux
KDE Plasma Version: 6.5.5
KDE Frameworks Version: 6.22.0
Qt Version: 6.10.1
Kernel Version: 6.12.65-1-lts (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 2600 Six-Core Processor
Memory: 16 GiB of RAM (15.5 GiB usable)
Graphics Processor: Intel® Arc
ADDITIONAL INFORMATION
I dug into the code. The window is filtered out in
plasma-workspace/libtaskmanager/taskfilterproxymodel.cpp[1], because it's
determined to be a skipTaskbar window.
This explains why it does show up in the Alt-Tab switcher, but this window
isn't supposed to be skipTaskbar. The window is an X window going through
Xwayland so I can run xprop on it, which shows the window type is normal and
does not mention being skipTaskbar.
In waylandtasksmodel.cpp[2] I can see that whether a window is skipTaskbar is
judged in two ways:
} else if (role == SkipTaskbar) {
return
window->windowState.testFlag(PlasmaWindow::state::state_skiptaskbar)
|| d->transients.contains(window);
}
where a window is apparently first added into "transients" if it has a parent
window[3]:
// Handle transient.
if (PlasmaWindow *leader = window->parentWindow.data()) {
transients.insert(window, leader);
If I make it so that it shows all transients, then the window shows up as I
expected, so this is a case where a window is being considered a "transient"
when it shouldn't.
[1]:
https://invent.kde.org/plasma/plasma-workspace/-/blob/d2b1b60976e3ac8572f75d33a4e1b7ee8520235a/libtaskmanager/taskfilterproxymodel.cpp#L331
[2]:
https://invent.kde.org/plasma/plasma-workspace/-/blob/d2b1b60976e3ac8572f75d33a4e1b7ee8520235a/libtaskmanager/waylandtasksmodel.cpp#L942
[3]:
https://invent.kde.org/plasma/plasma-workspace/-/blob/d2b1b60976e3ac8572f75d33a4e1b7ee8520235a/libtaskmanager/waylandtasksmodel.cpp#L769
--
You are receiving this mail because:
You are watching all bug changes.