There is no GUI control for kwinrc [Windows] showDesktopIsMinimizeAll. The default value is false, which means the ShowDesktop widget acts as a simple toggle. That is, using the widget minimizes all windows and a second usage restores all windows to the previous state. This probably is how users expect the widget to work. Confusion arises when krunner is started while showDesktopIsMinimizeAll=false because all minimized windows abruptly restore to their original state. Many users expect that when all windows are minimized that they remain minimized even when starting a new app window. Setting showDesktopIsMinimizeAll=true modifies the ShowDesktop widget behavior in that using the ShowDesktop widget still toggles the state of open windows, but starting a new app such as krunner does not change the minimized state of all windows. Reproducible: Always Steps to Reproduce: 1. Toggle the ShowDesktop widget to minimize all windows. 2. Start krunner. 3. Verify all window states are restored. 4. Edit kwinrc to change the value of showDesktopIsMinimizeAll 5. Restart kwin (qdbus org.kde.kwin /KWin reconfigure) 6. Toggle the ShowDesktop widget to minimize all windows. 7. Start krunner. 8. Verify all window states remain minimized. Actual Results: Windows don't remain minimized. Expected Results: Windows should remain minimized. This is a handy feature that only some people enjoy because there is no GUI control to discover this modified behavior. Some people probably don't care one way or another while others welcome this option. In the normal KDE spirit, users should choose. The configuration option already exists, only adding a GUI control and respective help is requested.
> Confusion arises when krunner is started while showDesktopIsMinimizeAll=false because all minimized windows abruptly restore to their original state. Afaics that's no longer true Last time i checked, krunner was a dock, thus does not impact the state, thus does not cause a launch.
> Last time i checked, krunner was a dock, thus does not impact the state, thus does not cause a launch. Hmm. I run krunner floating and I can replicate the behavior here. That is what led me to start searching the web for relief as this behavior always frustrated me in KDE3 too. :) Anyway, I discovered the showDesktopIsMinimizeAll trick, but could not find a respective GUI control. I don't know the best place in system Settings to add a check box.
open konsole, trigger the runner window, and in konsole call "xwininfo -wm" the cursor will turn into a cross, click the runner window. What does it say about "Window Type"?
> What does it say about "Window Type"? xwininfo: Please select the window about which you would like information by clicking the mouse in that window. xwininfo: Window id: 0x2000163 "Run Command" Window manager hints: Client accepts input or input focus: Yes Initial state is Normal State Displayed on desktop 0 Window type: Normal Process id: 3428 on host textbox
Strange. xwininfo: Window id: 0x280062d "Run Command" Window manager hints: Client accepts input or input focus: Yes Initial state is Normal State Displayed on all desktops Window type: Dock Window state: Above Stays On Top Skip Taskbar Process id: 4566 on host karnak I got to check whether i eventually somehwhen "fixed" that in bespin ;-) In the meantime you can force it to be a dock via the rules in case you want to preserve the regular "show desktop" behavior AND have krunner not break it.
Okay, but actually I prefer krunner to float in the middle of my screen. :)
That's not related to the Window Type. Docks can be anywhere and don't have to strut either. It's just that a) kwin will not actively pass the the input focus (no matter how often you click them, the dock has to obtain it itself) b) kwin will not decorate the dock not allow you to move or resize it (the dock has to call for that actively ;-) c) docks have a certain layer above regular windows
(In reply to comment #5) > I got to check whether i eventually somehwhen "fixed" that in bespin ;-) it's a dock for me, too. I guess it is related to the floating mode, which kind of makes sense to have that not as a dock. Overall that kind of renders the request invalid. There's probably a very good reason why there is not a GUI option for it (after all it was added in KDE 3 times and back then KDE devs loved to add as many options to the GUI as possible). I personally do not see a reason for exposing that option.
I assume it wasn't exported since it's been a kludge in the first place (see lubos comment, doesn't sound like he thought this was a good idea) If one wants a shortcut / dbus interface / whatever to minimize all windows, one should add that. The setting as to demands of the OP only covers a "bug" in krunner which lost family assignment with the desktop (or "don't care about me" window state) and should be god damn just fixed in krunner (re-assign to plasma-desktop clientgroup <- see ;-) or turn it into a dock) because you'd hit the very same issue with each and every other WM that do not have a strange "ShowDesktopIsMinimizAll" kludge. I propose to instead remove that option altogether and instead really provide some basic WM functions in that regard (ie. extend the dbus interface next to "unclutterDesktop" and "cascadeDesktop" with "minimizeAll", "maximizeAll" and "tileDesktop" and whatnot similar trivial arrangements) - or move that all into scripting ;-) (@Martin: can scripts extend the dbus interface or should we maybe have some "runScript" interface) However: "remove nonsense and add (and expose to GUI) things that do what they actually suggest instead and FIX bugs, not mitigate them by adding nonsense" /rant =)
> (@Martin: can scripts extend the dbus interface not yet, but it's something I wanted to add. I find it a very interesting idea and could see quite some interesting use cases for it (e.g. Plasma Active interacting more closely with KWin).
Although this request was for a GUI control, the conversation raised another point. Users expect the ShowDesktop widget to act like a toggle. First use minimizes all apps and the second usage restores all apps to their previous state. So far so good. Users don't expect that after minimizing all apps that opening any other app that is not open to restore existing apps to their previous state, acting like the second usage of the ShowDesktop widget. Users minimized all apps for a reason --- to get them out of the way to do something else. Like krunner, KDE3 did that. Frustrating. :)
(In reply to comment #11) > Users expect the ShowDesktop widget to act like a toggle. Yes. > First use minimizes all apps No. It's called "ShowDesktop" - not "MinimizeAll" - that's an implementation detail. > Users don't expect that after minimizing all apps that opening any other app > that is not open to restore existing apps to their previous state The reason is that the desktop showing state was broken, thus the state is withdrawn, thus the former state restored (+the new window is oc. still there) What you seek is actually called "Virtual Desktop" - a concept known to all X11 WMs since decades. KWin supports 20 of them. > Like krunner, KDE3 did that. The reason here is very simple: the runner in KDE three was part of the kdesktop application (or explicitly moved into that group) and desktop related windows of course do not break the "show desktop" state. Whether the current behavior of krunner is intended or not, i don't know. But it could easily be changed. Just working around that from kwin by sth. that effectively breaks the meaning of a feature is actually just the wrong kind of solution to it.