Version: unspecified (using KDE 4.3.2) OS: Linux Recently, an update to Wine caused the Windows app CDBurnerXP 3.0 to stop appearing in my KDE taskbar. I reported it as a regression in Wine here: http://bugs.winehq.org/show_bug.cgi?id=22917 Alexandre Julliard responded to my bug report with the following analysis: "I don't see a way of fixing that. Apparently KDE removes from the taskbar any window whose owner is not on the taskbar, and there's no hint to force it to appear. Gnome does it right, a window of type normal appears on the taskbar even if its owner doesn't. I'd suggest filing a bug with KDE." Reproducible: Always Steps to Reproduce: 1. Install Wine 1.2-rc2 (or later, presumably) 2. Download CDBurnerXP 3.0.116 from http://cdburnerxp.se/downloads/releases/3.0.x/ 3. Run the installer with Wine, and choose to start the program after completing the installation (or start it manually) Actual Results: Although the installer is shown in the taskbar, the main program window is not. It can be minimized to nowhere. Expected Results: The main program window should be visible in the taskbar. (The splash screen shouldn't necessarily appear there, but I'm not sure whether Wine handles that correctly yet. Previous versions of Wine showed it in the taskbar as well.) I'm using Kubuntu 9.10 x64 with the latest updates available for it (aside from the distribution upgrade to 10.04). I haven't done anything to customise the taskbar widget.
if the window is marked as a transient for another window, and that other window skips the taskbar, that transient window is also skipped. that is appears to be what's happening, and if the desire is to actually show that window then it shouldn't be marked as a transient for another window. you can confirm this by putting some debug in kdebase/workspace/libs/taskmanager/taskmanager.cpp in TaskManager::windowAdded(WId w ) where it says: if (d->skiptaskbarWindows.contains( transient_for )) { return; } add something like: kDebug() << "skipping" << w << "as it's transient for non-taskbar window" << transient_for; if that appears, then there's the problem.
I can confirm this error. In my use of wine in combination with KDE the application 'The Bat!' has the same problem: It isn't show in the taskbar.
My system: uname -a: Linux Schiermeier 2.6.34-0.slh.4-sidux-amd64 #1 SMP PREEMPT Fri May 21 13:46:08 UTC 2010 x86_64 GNU/Linux kde-config --version: Qt: 3.3.8b KDE: 3.5.10 kde-config: 1.0
Yes, the window is transient for the skip taskbar window, I doubt we can change that without breaking something else, like minimization. Would it be possible to change the behavior and default to showing transients in the taskbar if their owner isn't shown? Apps that don't want this can always set the skip taskbar style on transients too, but there is no "force taskbar" style to achieve the opposite. It's also what Gnome is doing.
Closing for lack of feedback. Please feel free to reopen this report if you can still reproduce this with KDE 4.8.3 or later.
Still present in KDE 4.14.5