Hi, With 5.3.0, we have introduced a new behaviour for the "show desktop" button and shortcuts. The effect is now more dashboard like, applications are visually not hidden anymore but stashed aside, and the panel is invisible.
The problem is that we have missed quite a few corner cases and ignored some common interaction patterns when introducing the new feature. It's also not easily possible to revert to the old behaviour. https://bugs.kde.org/show_bug.cgi?id=346837 is a bit non-specific, describes old behaviour, is confused by new behaviour, points out interaction problems https://bugs.kde.org/show_bug.cgi?id=346933 prefers previous behaviour being able to interact with applications (no special state but minimized windows, still accessible from taskbar, panel remains visible and interactive) The ancient https://bugs.kde.org/show_bug.cgi?id=67406 is very telling. The reporter uses the show desktop button to get all the windows out of the way and opens a new window next. New windows breaks the state immediately, restoring all the windows and the user finds it a mess. The "fix" was to introduce a config option to keep windows in the minimized state when the showing desktop mode was exited by opening a new app. Currently, the following workflows get me into an inconsistent state regarding "where are my windows": * when I enter showing desktop mode, then right-click on the wallpaper | Desktop Settings, the window isn't shown and I'm not exiting showing desktop mode * when I enter showing desktop mode on an empty desktop, then hit alt-tab, the panel becomes quickly visible, then hides again, but in this case, alt-tab does not exit showing desktop mode * when I enter showing desktop mode, say on desktop 1, then switch to virtual desktop 2 by keyboard shortcut, the windows that have been moved out of the way also appear in the corners of desktop 2, worse: when I now switch back, I'm apparently out of showing desktop mode 2, but the windows are still moved out of the way, they never moved back, and I have no way to get at them since they're mostly translucent and don't accept input The thing is exactly what Thomas Lübking points out in https://git.reviewboard.kde.org/r/123671/: we haven't really figure out when to cancel showing desktop. Then, we have the problems that have to do with modality: * when I enter showing desktop, I can't open a new application from the app launcher as the panel is not shown, this was possible before, and also I think quite a common thing to do (again, has to do with the modality) * in showing desktop mode, my primary means of switching applications is removed, this was working before, implementing as simply restored all windows and activated the app that was clicked on in the taskbar, with a config option to keep the other windows in their minimized state * when entering showing desktop from the panel widget, we can't get back by clicking it again, this is what this review is about These points have to do with intended behaviour. The problem is that until we have figured all these cases out, we have broken a bunch of fairly common things to do. The individual bugs may all be fixable, but it shows that merging the show dashboard with the show desktop feature and making the show desktop feature "a lot more modal" introduces a whole slew of bugs. From the Plasma Shell side, it's simply not ready for prime time. Now, technically, there are two sides to it: * Bugs in Plasma (taskbar interaction cancelling the mode from krunner, no app launcher, can't open desktop settings) * Bugs in interaction with kwin features (alt-tabbing, virtual desktop switching are both not working flawlessly) Both of these lead to interaction problems with the new show desktop feature as planned. More important is the modality problem. Our users expect the show desktop feature to be "almost not modal", more like a transient state. From the bug reports it seems that modality is not even wanted here. Users need access to their desktops in order to interact with the next application, open a file from the desktop. By making show desktop more modal and in fact a more special state (window aperture effect instead of "hidden and able to get it back from the taskbar. But, when making it more modal, we have to find all these places to exit the mode and cancel it from there, and that is simply not polished. It's easy to get it into an inconsistent state, and there's entirely no support from the Plasma Shell, which this feature puts into a much more central state. We have reduced the feature set of the show desktop button to basically only allowing to interact with Plasma widgets on the desktop (not even in the panel). Likely, the more common usecase is interacting with windows, and that is now made almost impossible, we have in fact removed most of the ways people would use to leave the show desktop mode. I don't think we can just say "this button that has been there forever (literally, it originated in windows 3.11 iirc) is now limited to interacting with Plasma widgets". Another problem is that we have no concept for the dashboard. What we've done is turning show desktop into a dashboard-like mode, but ignoring a whole bunch of interaction patterns. We reintroduced a whole slew of ancient bugs, and even a few weird new ones. We have introduced this change too early and not completely thought and tested it through. It's a complex beast that affects many interaction patterns, we have changed its fundamental behaviour, and that bites us in the ass. Exactly, it bites *us collectively* in the ass, not any single person individually. It's not useful to single out yourself or anyone else for introducing the slew of problems this change brings. It's our fault as a team. Evidently, we have introduced new behaviour that is supposed to contain less bugs, but it results in a much more limited functionality in a feature which has been there forever. The new mode does away with some interaction problems but it does so simply by reducing showing desktop mode to a small subset of its previous features. It's evident that the increased modality introduces more problems currently than it solves. Also, we didn't want to break muscle memory, expected and trained behaviour with Plasma 5, but this is exactly what we've done by introducing this new feature. That said, moving forward, here's what I think we need to do: * Put back the pre-5.3.0 behaviour as default, * Re-think the overall interaction of the show desktop feature and the dashboard, especially in terms of modality and common workflow patterns * Reintroduce the new behaviour as option and polish its corner cases This solves the newly introduced bugs, but brings back the old ones. At least, for the old behaviour, most of the cornercases have been fixed over time and we can tap into 20 years of muscle memory from desktop users. And yes, I hate to take a step back, but the Plasma shell itself, its components, and also kwin are at this point just not ready to introduce this without breaking many of the common workflows involving the new "show desktop". We should let a really improved show desktop / dashboard functionality ripe first, then introduce it as default. Cheers, -- sebas http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9 _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel