Since 5.3.0 showdesktop plasmoid works as show dashboard (also hides panel). Using KF 5.9.0. Reproducible: Always
It's expected to work as "Minimize all windows" like it was working for years.
Seems to be caused by this kwin commit: http://quickgit.kde.org/?p=kwin.git&a=commit&h=cbfcd3b0962a78676d77f31d89c9336cd6a8a2c7
"show desktop" never! meant to "minimize all windows" - this too common misconception was apparently caused by an implementation detail and lead to much confusion and invalid bug reports (about unminimizing windows) Thus we changed the implementation and introduced an actual function (kwin script) to minimize all windows (what ppl. apparently do because they wanted to change their virtual desktop) instead. Whether the panel should be shown in that mode was not finally decided by the hig group (and anyone interested should bring up their arguments), but the implementation change is fully intended and not about to be reverted.
(In reply to Thomas Lübking from comment #3) > the implementation change is fully intended and not about to be reverted. I understand it. But current showdesktop applet is useless because how can you restore your windows if the panel with showdesktop widget gets hidden. It's one way action now, it's very confusing. First I even thought it was a plasma crash... And "minimize all windows" applet is a must have thing anyway. So even if showdesktop should work like it works since 5.3.0, people need another applet that works like showdesktop worked before.
As mentioned, the panel handling was not finally decided. To keep the panel visible for the moment, do "kcmshell5 kwinrules", use the detect button, pick the panel, ensure the matching includes the window type (docks only) and in the 3rd tab enforce it to keep above. About resolutions of the plasmoid (given docks are ultimately not generally kept visible): - plasmoid could require to be on the desktop (well, not that great a solution) - the plasmoid could enforce the panel to remain visible (preferably by setting it transient for the desktop window rather than keep above) - the plasmoid could add a copy of itself to the desktop when in showing desktop mode About a minimize all plasmoid being a "must have" (that is like actual "minimize all", completely ignoring the the panel situation and the state not being implcitly broken etc.) i'm not too sure. That's actually the behavior of switching to another (blank) virtual desktop.
(In reply to Thomas Lübking from comment #5) > To keep the panel visible for the moment, do > "kcmshell5 kwinrules", use the detect button, pick the panel, ensure the > matching includes the window type (docks only) and in the 3rd tab enforce it > to keep above. Thanx, this workaround works fine :-) > - the plasmoid could enforce the panel to remain visible (preferably by > setting it transient for the desktop window rather than keep above) This one sounds better than others. Too bad plasmoids cannot just run kwin scripts. > About a minimize all plasmoid being a "must have" (that is like actual > "minimize all", completely ignoring the the panel situation and the state > not being implcitly broken etc.) i'm not too sure. > That's actually the behavior of switching to another (blank) virtual desktop. It's a must have because it's almost as common as start menu, quick launch, taskbar and systemtray parts of the panel. People got used to it since Windows 98 (then other Windows or KDE versions). I believe many people will suffer if the feature is removed.
(In reply to Pulfer from comment #6) > This one sounds better than others. Too bad plasmoids cannot just run kwin > scripts. if [ "`qdbus org.kde.KWin /Scripting isScriptLoaded minimizeall`" = "false" ]; then qdbus org.kde.KWin /Scripting loadScript minimizeall # todo : might require some sync/start call fi qdbus org.kde.kglobalaccel /component/kwin invokeShortcut "MinimizeAll" Obviously most plasmoids would not walk across the qdbus exec. > It's a must have because it's almost as common as start menu, quick launch, > taskbar and systemtray parts of the panel. The point is that a "minimize all" feature never existed unless you had a secret config key enabled which adjusted the "show desktop" behavior.
(In reply to Pulfer from comment #6) > (In reply to Thomas Lübking from comment #5) > > To keep the panel visible for the moment, do > > "kcmshell5 kwinrules", use the detect button, pick the panel, ensure the > > matching includes the window type (docks only) and in the 3rd tab enforce it > > to keep above. > > Thanx, this workaround works fine :-) Not really. After some testing I found that it works unless you minimize windows and then right-click on desktop. The click hides the panel. For example, I want to add some plasmoid to my desktop. I click at showdesktop plasmoid (with "keep above" panel rule enabled), all windows are minimized. Then I right-click on desktop and my panel disappears.
Yes, it's still a workaround. The windows end up in the same layer what means when activating/raising the desktop ("kcmshell5 kwinoptions" allows you to configure mouseclicks in *all* windows) it will again go above the panels. I'm unfortunately not aware of common tools that would allow you to set a window transient for another. I'll add that feature to kwindowsystem [1], but you'd still have to compile it (I doubt any distro ships that) [1] https://github.com/luebking/KLItools
Speaking of the plasmoid again, IMHO, the best solution is: 1. Make the panel shown in "show desktop" mode. Otherwise the plasmoid is useless (it's a panel plasmoid, not a desktop one, because if you already minimized your windows to access the desktop, you don't need to do that with the plasmoid). 2. Add an option to the plasmoid config so users could choose between minimize all windows and show desktop plasmoid behaviour. In case of "minimize all windows" just run kwin scenario via dbus. Hope this can be done in 5.3.x branch.
(In reply to Thomas Lübking from comment #7) > if [ "`qdbus org.kde.KWin /Scripting isScriptLoaded minimizeall`" = "false" > ]; then > qdbus org.kde.KWin /Scripting loadScript minimizeall > # todo : might require some sync/start call > fi > qdbus org.kde.kglobalaccel /component/kwin invokeShortcut "MinimizeAll" Meanwhile I used these dbus calls via Qt5DBus in showdesktop plasmoid provided by ROSA RPMs (see https://abf.rosalinux.ru/import/plasma5-kdeplasma-addons/blob/rosa2014.1/kdeplasma-addons-5.3.0-showdesktop-minimize.patch ). I also patched minimizeall script to be enabled by default (see https://abf.rosalinux.ru/import/plasma5-kwin/blob/rosa2014.1/kwin-5.3.0-enable-minimizeall.patch ). The reason is that "org.kde.KWin /Scripting loadScript minimizeall" doesn't really enable this script (even reporting it's loaded) so the shortcut doesn't work.
Wow, the state introduced in 5.3 is really really broken for me. I even thought there was some kwin bug and restarted whole X server, as pressing the show desktop button not only hide the panel with the button itself (what is really not what yo don't want - there is even no way back then!), but also the windows are not hidden nor minimized, but somehow made transparent and moved to the upper corners of the screen (where you can't even click them or move them - see attachment). And that makes you think something is broken, not that this was expected behavior :-). So +1 to change the behavior to something resembling the 5.2 state or make it configurable.
Created attachment 92442 [details] The weird window location after show desktop button was clicked
> pressing the show desktop button not only hide the panel with the button itself (what is really not what yo don't want - there is even no way back then!) To help the HIG team w/ a decision please clarify whether the problem is the absent panel or the absent "show desktop" button. Ie whether you want to be able to interact with your panels in general in this mode or whether you "just" want the button to "somehow" remain. > somehow made transparent and moved to the upper corners of the screen Actually the closest corners. That's just the window aperture effect and the idea was to indicate the showing desktop state. I opened bug #347281 - but you can also jsut disable the effect ("kcmshell5 kwineffects") and optionally enable the "eye On Screen" effect as transition.
It's funny, I click an icon representing a panel, on a panel... and the panel disappears.
*** Bug 346551 has been marked as a duplicate of this bug. ***
*** Bug 347330 has been marked as a duplicate of this bug. ***
> To help the HIG team w/ a decision please clarify whether the problem is the absent panel or the absent "show desktop" button. Ie whether you want to be able to interact with your panels in general in this mode or whether you "just" want the button to "somehow" remain. It still the same, I press button "Show desktop", know from eg. KDE 4 and Windows, but it behaves in a totally weird way. What I expected is that the *whole* panel (and even other panels) remains visible and no window is shown - so I see the desktop. Whether it really minimizes or just move the windows somewhere where they can't be seen is actually not important for me. > Actually the closest corners. That's just the window aperture effect and the idea was to indicate the showing desktop state. Well, the it didn't work :-). I really don't expect the windows being moved in corners, so even the animation is confusing.
Hey plasma devs! Are you kidding?! Please revert this to 5.2 state ASAP.
Please don't leave comments like that.
I will. However I've also noticed that show windows dashboard is also affected. (Pressing on desktop in this mode) So my opinion is that panel should not be hidden.. Because show desktop button and hide desktop button should be the same one. And escaping from this mode with any other ways is not an option. Think of this button like of an additional entry in task-manager that is showing "desktop window". At least please provide an option for making desktop like a fullscreen window or not. I can provide one more argument. When I switch to desktop and panel remains shown I can faster access to new actions from panel then (open another window from task-manager, open application launcher, taskbar) In conclusion, in panel we have widgets that we wanna see all the time and access fast. Hiding panel is surprising effect, that is necessary only for an application that we wanna completely dive into like game or video player.
Please, fix the panel hiding. Current approach is very confusing.
Git commit f3b69b0ed0d3fa863ed4b2233ac5ce6c5fcdd9c3 by Thomas Lübking. Committed on 19/05/2015 at 20:01. Pushed by luebking into branch 'Plasma/5.3'. Showing Desktop: keep docks visible REVIEW: 123783 Related: bug 347212, bug 346837 FIXED-IN: 5.3.1 M +7 -0 layers.cpp M +9 -5 workspace.cpp http://commits.kde.org/kwin/f3b69b0ed0d3fa863ed4b2233ac5ce6c5fcdd9c3
Git commit a16a489a43aef03e198630f80d8236b56052b6f9 by Thomas Lübking. Committed on 19/05/2015 at 20:06. Pushed by luebking into branch 'Plasma/5.3'. Show Desktop: keep desktop group visible Windows that "belong" to the desktop are kept visible and do no break the state on activation/mapping REVIEW: 123783 Related: bug 346837, bug 347212 M +6 -0 layers.cpp M +3 -0 workspace.cpp http://commits.kde.org/kwin/a16a489a43aef03e198630f80d8236b56052b6f9
Git commit eb789e43e317fbb25fbd1f51d0edf9800f8c002a by Thomas Lübking. Committed on 19/05/2015 at 20:09. Pushed by luebking into branch 'Plasma/5.3'. Show Desktop: activateNextClient prefers desktop othrwise closing a keepabove or desktop group window would activate some random window and break the state as a side-effect REVIEW: 123783 Related: bug 346837, bug 347212 M +5 -2 activation.cpp http://commits.kde.org/kwin/eb789e43e317fbb25fbd1f51d0edf9800f8c002a
Git commit 43e3b7db285c48efb25966334262d0e80190fd9e by Thomas Lübking. Committed on 19/05/2015 at 20:07. Pushed by luebking into branch 'Plasma/5.3'. Show Desktop: break state with activation (only) ... not them becoming visible. Latter doesn't work for most cases (unminimizing) for obvious reasons (they're not minimized) and when a new window is mapped, the focus stealing prevention seems a good filter (if it's not good enough to gain the focus, it's not good enough to break the state either) REVIEW: 123783 Related: bug 346837, bug 347212 M +12 -16 client.cpp M +0 -1 client.h M +0 -2 manage.cpp http://commits.kde.org/kwin/43e3b7db285c48efb25966334262d0e80190fd9e
Hello, may I ask something? How can I run MinimizeAll script with plasmoid in KDE5? It says that it will add shortcut. I selected it, but where is this shortcut? And why when aperture is disabled we must click THREE times on Show desktop to activate it? And why when we unmaximize one of the minimized with show desktop objects, they all unmaximize, instead just that one which we have selected? The remedy in KDE4 for this behaviour was: kwriteconfig --file kwinrc --group Windows --key ShowDesktopIsMinimizeAll true qdbus org.kde.kwin /KWin reconfigure How we achieve this here, in KDE5? Thank you.
(In reply to Nick Stefanov from comment #27) > Hello, may I ask something? In general please rather use forum.kde.org for such. > How can I run MinimizeAll script with plasmoid in KDE5? I'm not aware of a plasmoid for it. > but where is this shortcut? "kcmshell5 keys" will open the shortcut config utility directly. select kwin and filter for "minimize all" > And why when aperture is disabled we must click THREE times on Show desktop > to activate it? You don't. Sounds a bit like bug #350826. Does it also happen when using the "show desktop" shortcut (NOT the minimize all shortcut)? > And why when we unmaximize one of the minimized with show > desktop objects, they all unmaximize Yes. That is and has always been the behavior of "show desktop" > The remedy in KDE4 for this behaviour was: We intentionally replaced this secret config option with an explicit script (which you found)
Thank you for the answer. I'm sory that I ask here. I have to click three times when the aperture effect is disabled. Hot key work as intended. When aperture is enabled, the Show desktop plasmoid activates at first click. I have such behaviour in Arch and Manjaro. > And why when we unmaximize one of the minimized with show > desktop objects, they all unmaximize Yes. That is and has always been the behavior of "show desktop" > The remedy in KDE4 for this behaviour was: We intentionally replaced this secret config option with an explicit script (which you found) Yes I know that is the intended behavior of Show desktop, but for me is very irritating. Is there a way this script being used with plasmoid? I have already set hot key in "kcmshell5 keys" and it works very well but I want this function to button or plasmoid like Show desktop plasmoid. Is there a wau to change the Show desktop behaviour to what I want? Thank you.
Hello, please...
congrats, you just made it to the bottom of my mail stack.
(In reply to Nick Stefanov from comment #29) > I have to click three times when the aperture effect is disabled. Hot key > work as intended. When aperture is enabled, the Show desktop plasmoid > activates at first click. I have such behaviour in Arch and Manjaro. This sounds like as if whatever contains the plasmoid (or the plasmoid itself) breaks the state right on/after trigger, ie the panel/desktop/? window gets activated by the click and is for whatever reason not considered "part of the desktop". The behavior is however not reproducible here and, for the records, would break the state regardless of how "show desktop" would work (ie. it will affect the minimize all script as well) => It's an unrelated bug (and apparently not bug #350826 which seems to affect the shortcut as well), please file it against the "show desktop" plasmoid (though it may be in the containment which carries it) > Yes I know that is the intended behavior of Show desktop, but for me is very > irritating. Is there a way this script being used with plasmoid? Yes, but not with /that/ plasmoid. Such plasmoid would have to be written (at least I don't know one at hand) and simply trigger the scripts shortcut (by calling kglobalacceld to activate it)
Thank you. And there isn't such secred code like in KDE4 to change Show Desktop behavior? Or there is?
No. One point of the exercise was to get rid of such secret settings - they're pet features, known only to a selected elite. (And with the change of the "show desktop" feature implementation technically neither possible anymore either)
All clear. Thank you :) For the time being I use MinimizeAll plasmoid for KaOs. Hope we see it officially in Plasma 5 :)