Bug 326753 - An old bug with KWins Show Desktop functionality is back and this time it's on steroids.
Summary: An old bug with KWins Show Desktop functionality is back and this time it's o...
Status: RESOLVED DUPLICATE of bug 67406
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 4.11.2
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
Depends on:
Reported: 2013-10-27 18:16 UTC by Georgiy Treyvus
Modified: 2013-11-19 07:31 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Note You need to log in before you can comment on or make changes to this bug.
Description Georgiy Treyvus 2013-10-27 18:16:27 UTC
A common workflow for me is that when I'm overwhelmed I use Show Desktop to unclutter my screen and then I launch whatever program I need to get stuff done. Until recently this has worked fine. However now when I do it whether from a menu or from KRunner not only does the window of the program pop up but every other window minimized by Show Desktop does as well. This also occurs if say some other window pops up like the KDE Wallet thing asking me for the password to unlock the wallet. This is really annoying.

This is also very analogous to another bug I reported and which you guys fixed(and a big thank you to you all for that by the way). Anyway here's a bug you folks might remember: https://bugs.kde.org/show_bug.cgi?id=302248 Unfortunately it's back with a vengeance and looks like it may have been doing steroids in its absence.

Reproducible: Always
Comment 1 Georgiy Treyvus 2013-10-27 18:20:37 UTC
Also ironically enough though similar to before it's in many ways opposite. Before Show Desktop used to work fine when I opened new windows. Only when KRunner was used did the previous bug occur and would all minimized windows would pop back up as well. Now it's the opposite. KRunner doesn't break Show Desktop in that way but opening a regular window does.
Comment 2 Thomas Lübking 2013-10-27 19:57:53 UTC
Dock type windows and windows in the desktop group (same classname as desktop window) are not supposed to break the "showingDesktop" state.

All others are - unless you configured

kwriteconfig --file kwinrc --group Windows --key ShowDesktopIsMinimizeAll true

-> what's the output of

           qdbus org.kde.kwin /KWin supportInformation | grep -i showDesktopIsMinimizeAll
Comment 3 Thomas Lübking 2013-10-29 21:13:22 UTC
Comment 4 Georgiy Treyvus 2013-10-30 16:41:17 UTC
My apologies for the late response. The output is:
[georgiy@PANTHER ~]$ qdbus org.kde.kwin /KWin supportInformation | grep -i showDesktopIsMinimizeAll
showDesktopIsMinimizeAll: false
[georgiy@PANTHER ~]$ 

Now I can and will fix this regression that recently occurred by running:
kwriteconfig --file kwinrc --group Windows --key ShowDesktopIsMinimizeAll true
but I shouldn't have to do so.

Until recently Show Desktop in KDE behaved just like Show Desktop everywhere else. But this regression in the Show Desktop action's behaviour is a fairly serious one even if the fix is trivial. Me I'm very comfortable on the command line but newer users are not and this regression in Show Desktop's behaviour to this new form which differs from the Show Desktop functionality everywhere else will simply be too much for them.
Comment 5 Thomas Lübking 2013-10-30 17:07:31 UTC
(In reply to comment #4)

> showDesktopIsMinimizeAll: false
Well, that explains it.

> Now I can and will fix this regression
It's not a regression.

> but I shouldn't have to do so.
Yes, you do - and you did back then. See bug #302248 comment #3
No idea what changed your config (re-installation), but it's not us for sure.
> Until recently Show Desktop in KDE behaved just like Show Desktop 
> everywhere else.
Define "everywhere else" - openbox and metacity do not react on show desktop calls here at all (no idea why)
The behavior has more or less _always_ been like this and the hack to turn "Show Desktop" into some "Minimize All" function on explicit demands has been added 2006-05-30, see bug #67406 comment #23

If you want to raise a brainstorm on the topic -> http://forum.kde.org and this would have to be discussed on k-c-d as well.

*** This bug has been marked as a duplicate of bug 67406 ***
Comment 6 Georgiy Treyvus 2013-11-05 17:48:20 UTC

This was a regression. No doubt about it. Like at the time of my previous bug report I ran that fix for I believe it was KDE 4.8 and it worked. Back then at least you acknowledged that this was a problem and fixed it.

I switch distros quite often and I've jumped between a lot of graphical environments and revisions/versions thereof. Like it was such a relief to find that if I recall correctly KDE 4.9 and definitely KDE 4.10 didn't have this problem. Show Desktop had correct behaviour out of the box and I didn't need to run kwriteconfig or anything of the sort.

Like the current distro I'm on is Fedora 19 and according to my /etc/fstab:
# Created by anaconda on Fri Sep  6 00:57:13 2013

At the time of installation it was at KDE 4.10 and it remained that way for a few weeks until 4.11 hit the repos. This bug was not a problem with KDE 4.10 and this also wasn't a problem with early versions of KDE 4.11. In fact when 4.11 came out I was thrilled because it eliminated some problems that were bothering me and performed much more quickly and smoothly. At no point did I have to run that kwriteconfig hack. All was well. I felt KDE could do no wrong. Then boom all of a sudden without warning perhaps after some routine package update this bug crept in.

Luckily it can easily be fixed by kwriteconfig. At least for me. I'm very comfotable on the command line. Newer users though are not and they will be confused because Show Desktop in KDE now behaves differently than Show Desktop everywhere else.

As for how I define "everywhere else" I define that as the way most desktops come out of the box. GNOME 3 comes with Mutter, GNOME 2 with Metacity, MATE with mate-wm, XFCE with xfwm4, etc. In simple words I define "everywhere else" as desktop environments being used with the window managed they were shipped with and intended to be used with.

As for your strange attempts to run KDE with Openbox and Metacity instead of Kwin while in theory that is supposed to work and you should be able to replace the window manager of a desktop environment with whatever in practice that may not be so. Also I know of (almost?) nobody who in practice mixes and matches a window manager from one desktop environment with a completely different desktop environment. Like I've heard of people replacing Metacity and GNOME and KWin in KDE with Openbox for increased performance but that's about it. Normally people don't do that though and they don't suffer from the compatibility problems you mentioned above. 

Though I may be woefully wrong here another reason that Openbox and Metacity didn't respond to KDE's Show Desktop calls is because KDE's current Show Desktop behavior is radically different from theirs and is probably implemented in a very different way.

The point is that we are looking at a regression here. This is without a doubt. An old bug has returned and it has been using banned substances too by the looks of things. Also I noticed that other people reported about this same exact bug within a few days of me. I'm far from the only one who noticed the radical change and thought something was seriously off.

I will take this to the forums if I need to and I doubt I will be alone in the matter. However I ask you to please take some time to think about this bug and compare the current KDE Show Desktop behaviour against that of stock GNOME, stock MATE, stock XFCE, stock Openbox, or even that of stock KDE 4.10 where it worked correctly out of the box. The current Show Desktop behaviour sticks out the way a giraffe does on the streets of NYC.

Boiled down to one sentence if Show Desktop can be made to behave out of the box the way it did in KDE 4.10 me and a lot of others would be grateful and Linux newbie's won't run screaming back to Windows due to various very counter-intuitive behaviour.
Comment 7 Thomas Lübking 2013-11-05 19:03:34 UTC
Look at the patch of the dupe and at Lubos grumpy comment!
The setting default has *never* changed since then and there's never been any public (GUI) way to configure that.

So we will first agree that this stock behavior is NOT a regression because there has been NO UPSTREAM change to this (general) behavior in KDE for YEARS!

If any window pops up that is NOT part of the desktop class (krunner is not), "show desktop" is considered broken and all windows are re-shown.
Because krunner is not part of the desktop class (while the KDE3 runner apparently was) this was extended to also ignore any dock type windows by commit 3433b31a085a6d3f9439532777cab8fdf1cdf663
Author: Thomas Lübking
Date:   Sun Aug 26 16:16:38 2012 +0200
    ignore dockers for showingDesktop state

to fix bug #305874 for KDE 4.9.1

In addition, there was  a bug introduced with the compositor to "some" (early, I guess) KDE4 version which made the behavior depend on "how" the window was opened.
This was aligned to the original (and remaining uncomposited) behavior by commit f9e182068f380fc67b89501bf40f16aa35dd861b
Author: Thomas Lübking
Date:   Tue Jun 19 23:12:37 2012 +0200

    substitute mapping_state == Withdrawn by m_managed
    as the flamewar pointed out, resetShowingDesktop invalidly keeps hidden windows
    the reason is that there're several updateVisiblity calls (notably one from the compositor)
    which  break the showingDesktop state as a side effect (before ::manage() does it's thing)
    Since they also invalidate the Withdrawn mapping state, that will fail as isManaged() test
    (it's also invalidly used by the compositor to set up the decoration, isManaged() used to be
    true because of the updateVisibility() call before) since the result is never Withdrawn
    CCBUG: 299655
    REVIEW: 105303

Both patches affected 4.9.1
The behavior has otherwise remained untouched and works precisely like this by default.

We must second agree that this is therefore a DUPE.
You simply do not like the change that was introduced by resolution of  bug #60480 and first time concerned in bug #67406

If you want to formally restate your former suggestion:
    "Therefore I really feel that there should be a GUI dialog allowing users to change from Normal Mode to Minimize All."
I'd suggest to do so in an explicit bug/wish and not by falsely claiming regression.

We will third agree that this bugtracker is the completely wrong place to discuss the default that has been like it is and not configurable by GUI for nearly a DECADE. More people must have the chance to comment on it.

We will fourth record that there is a recorded comment by you:

   "Georgiy Treyvus 2012-06-20 19:18:01 UTC
   My setting for Show Desktop is normal. I am aware of the fix you guys showed:
   kwriteconfig --file kwinrc --group Windows --key ShowDesktopIsMinimizeAll true
   qdbus org.kde.kwin /KWin reconfigure

   This works like a charm and all is as expected again. While I'm very comfortable on the command line and can easily apply this fix novice users may not be so comfortable. Therefore I really feel that there should be a GUI dialog allowing users to change from Normal Mode to Minimize All."

We will fifth notice that mentioned bug #302248 was filed against KDE 4.10 and KDE 4.11 did not have its soft feature freeze before: Wednesday, May 22, 2013: KDE SC 4.11 Soft Feature Freeze
That is NINE MONTH after that comment! (And still quite some time to go for the first 4.11 release)

We will sixth conclude that your recent claim:

   "This bug was not a problem with KDE 4.10 and this also wasn't a problem with early versions of KDE 4.11. [...] At no point did I have to run that kwriteconfig hack."

is therefore strongly contradicted by your very own former quote.

We will seventh ensure that you understood that I completely dislike being confronted with such obvious false statements - if you intend to keep me listening, stay with at least the obvious facts!

I will eighth point out again that probably "something" reset the setting on your side and stress that there's been no move from our side to do so.
If you're absolutely sure that you did not touch the kwinrc (new user, deleted kwinrc, whatever) personally, i can only recommend to check the logs of the update that caused the change for you.

*** This bug has been marked as a duplicate of bug 67406 ***
Comment 8 Thomas Lübking 2013-11-06 22:38:07 UTC
FYI, i just saw that it was also you who fired flamewar bug #299655
I am severely pissed by your hypocrisy.
Comment 9 Georgiy Treyvus 2013-11-19 06:17:15 UTC

If it wasn't for the fact that right now I am severely overwhelmed by lady problems there would be a much longer and well justified ranting comment here so consider yourself lucky .

First and foremost while I am many things and do at times make incompetent mistakes one thing I will not be called is a liar. I wrote what my experience was to the best of my knowledge. I told the truth.

Like there was some stuff I wasn't quite the surest I recall correctly but I explicitly mentioned that stuff as such. For example here's a quote from comment number 6:
"Like it was such a relief to find that if I recall correctly KDE 4.9 and definitely KDE 4.10 didn't have this problem."
The point is there where I was not sure I usually if not always said something to that effect. May I have made inaccurate statements? Yes, but nowhere did I deliberately lie. Like in the above I knew KDE 4.10 as it came out of the box with Fedora did not have this problem. As for KDE 4.9 I think it also didn't have this problem but honestly didn't have the time or patience to test out 4.9 and say for sure.

Here's the bottom line. Maybe I accidentally got some details wrong because memory failed me but I am not a liar. Also KDE's Show Desktop behaviour is NOT normal, intuitive, or like it is in other desktops. I'm not the only one that thinks so because notice how within a few days of my putting this up a bunch of others also report in different words about essentially the same problem. I'm not talking out of my ass here and I'm not alone. The way Show Desktop SHOULD BEHAVE BY DEFAULT SO NORMAL PEOPLE CAN ACTUALLY USE KDE is as if "kwriteconfig --file kwinrc --group Windows --key ShowDesktopIsMinimizeAll true" had been run. To maximize user freedom the option to set it to false should be kept. Furthermore there should be a graphical way of toggling it so newer users aren't intimated. However why anyone in their right  mind would set it to false I simply cannot fathom...
Comment 10 Martin Flöser 2013-11-19 07:31:18 UTC
@Georgiy: please calm down. Thomas didn't say that you lied and please do not rant in a bug report. Just think about it: you want this issue fixed. Do you think any developer will work on it after ranting? Keep calm and look at the facts. We are only interested at the facts.

For us the fact is that we know that we didn't touch the behavior at all. You disagree with the way how it's implemented, that is fine. We offer the functionality to change the behavior. But please do not expect that we change the behavior in the way you want it. We have millions of users wanting different things. We have to make an educated evaluation and that happened years ago for this feature.