Bug 302248

Summary: Show Desktop has inconsistent behavior when launching KRunner
Product: [Plasma] kwin Reporter: Georgiy Treyvus <georgiytreyvus>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: ken20001
Priority: NOR Flags: thomas.luebking: ReviewRequest+
Version: unspecified   
Target Milestone: 4.10   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In: 4.10
Sentry Crash Report:

Description Georgiy Treyvus 2012-06-20 16:49:57 UTC
Say I have a bunch of windows open. Then I invoke Show Desktop. Now say I decide to open up another random program such as Dolphin or perhaps restore one of the windows that were just minimized by the show desktop action. Either the Dolphin window pops up or whatever window I just restored is restored. So far everything behaves as expected.

Now say I invoke Show Desktop. Now I go and launch KRunner through Alt-F2. This of course opens the KRunner window as expected but also the other windows that were minimized get restored. This is inconsistent with the usual behavior mentioned above.

If I can go Show Desktop and then launch Konqueror or whatever random application without the other windows being restored I should be able to go Show Desktop and launch KRunner without the other windows popping up as well. In both cases whether you launch Konqueror or KRunner the Show Desktop state is broken. However the reaction afterwards is incosistent with the rest of the Desktop and launching KRunner.

This can cause problems with workflow. First I use Show Desktop to unclutter my screen and the I want to use KRunner to launch whatever program without the extra windows being restored. This is something I and other people routinely do on other desktops. Why can't we in KDE? 

Reproducible: Always

Steps to Reproduce:
1. Invoke Show Desktop
2. Launch KRunner with Alt-F2
3. Watch not only KRunner pop up but the other windows as well that were there before Show Desktop was invoked.
Actual Results:  
KRunner pops up with all the other windows that were there before Show Desktop was invoked.

Expected Results:  
Only KRunner pops up and I use it to launch whatever app I need to use next.

This is a factor on KDE 4.7 and 4.8 and a problem on Debian Wheezy, Debian Sid, Fedora, OpenSUSE, MEPIS, and I'm guessing other platforms I haven't tried this on as well. In other words it's not an issue with X or whatever distribution it's a KDE issue.
Comment 1 Martin Flöser 2012-06-20 17:11:15 UTC
what's your setting for show desktop? Normal mode or minimize all windows?
Comment 2 Thomas Lübking 2012-06-20 17:12:03 UTC
http://git.reviewboard.kde.org/r/105303/
Comment 3 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.

Even that may not be enough. Due to the counter-intuitive behavior of Show Desktop in Normal Mode novice users may be so turned off by this and think this is a bug that they may not even be thinking there's various way to reconfigure this, how can I reconfigure this etc.

Therefore I think the Minimize All mode should be the default as it behaves the way users have come to expect from other desktops.
Comment 4 Thomas Lübking 2012-06-20 19:24:19 UTC
Would you please keep this a bug report - as there /is/ a bug - and not turn it into the same pointless discussion that will ultimately result in the same flamewar causing me to catch this bug in my spam assassin as well?
Thanks.
Comment 5 Martin Flöser 2013-01-17 15:53:48 UTC
given that the review is submitted: the bug is fixed?
Comment 6 Thomas Lübking 2013-01-17 16:55:24 UTC
This bug is partially an equal mess as the pointed companion.

Bug: krunner breaks "show desktop" - does not happen since krunner is meanwhile a dock and dock don't breas the state.

Bug: inconsistent behavior depending on how (through service or direct call) a window gets opened. This /was/ fixed with the commit in the review request in 4.10 but i just tested and it seems "ShowDesktop" behaves like minimizeAll now all the time (in git master. No idea why, but if you create or unminimize one window, no other will show up and the desktop showing state is reset)
Comment 7 Thomas Lübking 2013-01-17 20:07:36 UTC
Meh - broke it with 3433b31a085a6d3f9439532777cab8fdf1cdf663 (accidentally dropped the extra fixed isManaged() check m(
Comment 8 Georgiy Treyvus 2013-01-17 21:35:03 UTC
@Martin:

Interesting that you ask this. I recently had the fortune of testing KDE 4.9.4 and everything worked like a charm and as expected. Whatever you guys did to fix it in 4.9.4 keep doing it. I'm sure we all agree regressions are not fun. Thank you for the fix.
Comment 9 Thomas Lübking 2013-01-23 21:11:34 UTC
Git commit 9d9dce2b030b19d575943839e24d2d88e9d8b7db by Thomas Lübking.
Committed on 17/01/2013 at 21:13.
Pushed by luebking into branch 'KDE/4.10'.

re-fix resetShowingDesktop invocation

was fixed with f9e182068f380fc67b89501bf40f16aa35dd861b
broke it with 3433b31a085a6d3f9439532777cab8fdf1cdf663

REVIEW: 108452

M  +2    -1    kwin/client.cpp

http://commits.kde.org/kde-workspace/9d9dce2b030b19d575943839e24d2d88e9d8b7db
Comment 10 Thomas Lübking 2013-01-23 21:12:17 UTC
Git commit 0203c0e5f590d94c4e7bdd85d15748030163c77e by Thomas Lübking.
Committed on 17/01/2013 at 21:13.
Pushed by luebking into branch 'master'.

re-fix resetShowingDesktop invocation

was fixed with f9e182068f380fc67b89501bf40f16aa35dd861b
broke it with 3433b31a085a6d3f9439532777cab8fdf1cdf663

REVIEW: 108452

M  +2    -1    kwin/client.cpp

http://commits.kde.org/kde-workspace/0203c0e5f590d94c4e7bdd85d15748030163c77e