Summary: | Show desktop function is damaged | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | fademind |
Component: | general | Assignee: | David Edmundson <kde> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | aanm90, bazonbloch, bhush94, cfeck, chrno-sphered, duckientruong, fademind, ferry.toth, guido.iodice, mail, mrboese, plasma-bugs, pulfer, rulatir, sebas, simon.vizzini83, thomas.luebking, timothy.m.butterworth |
Priority: | NOR | Flags: | kde:
VisualDesign+
|
Version: | 5.3.0 | ||
Target Milestone: | 1.0 | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
See Also: |
https://bugs.kde.org/show_bug.cgi?id=346933 https://bugs.kde.org/show_bug.cgi?id=347212 |
||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
fademind
2015-04-28 12:55:40 UTC
The behavior is damaged when accessed in other ways as well: - by adding the the show desktop widget to the task bar and clicking on it - by setting the upper right corner to show desk top and moving the mouse to that corner For me this occurred right after installing the packages from the Kubuntu Backports PPA. Workaround: Disable Window Aperture https://i.imgur.com/t14X4kx.png My understanding is that this is the intended effect. I'll add the right people to check. And one more: [b]TIP[/b] Show Desktop Feature was moved to Kwin script. Now in default is here: [img width=800 height=449]http://i.imgur.com/LujOivM.png[/img] and [img width=800 height=449]http://i.imgur.com/rk1OH2c.png[/img] I customized for WIN D shortcut (formally Meta D). KWIN script for Plasma 5.3 > really minimize window and show taskbar and desktop only: /usr/share/kservices5/kwin-script-minimizeall.desktop /usr/share/kwin/scripts/minimizeall /usr/share/kwin/scripts/minimizeall/contents /usr/share/kwin/scripts/minimizeall/metadata.desktop /usr/share/kwin/scripts/minimizeall/contents/code /usr/share/kwin/scripts/minimizeall/contents/code/main.js This not the same function like it is in plasmoid (used by window switcher) /usr/lib/qt/qml/org/kde/plasma/private/showdesktop /usr/lib/qt/qml/org/kde/plasma/private/showdesktop/libshowdesktopplugin.so /usr/lib/qt/qml/org/kde/plasma/private/showdesktop/qmldir /usr/share/kservices5/plasma-applet-org.kde.plasma.showdesktop.desktop /usr/share/locale/en_GB/LC_MESSAGES/plasma_applet_org.kde.plasma.showdesktop.mo /usr/share/locale/kde4/pl/LC_MESSAGES/plasma_applet_showdesktop.mo /usr/share/locale/pl/LC_MESSAGES/plasma_applet_org.kde.plasma.showdesktop.mo /usr/share/locale/pl/LC_MESSAGES/plasma_applet_showdesktop.mo /usr/share/plasma/plasmoids/org.kde.plasma.showdesktop /usr/share/plasma/plasmoids/org.kde.plasma.showdesktop/contents /usr/share/plasma/plasmoids/org.kde.plasma.showdesktop/metadata.desktop /usr/share/plasma/plasmoids/org.kde.plasma.showdesktop/contents/config /usr/share/plasma/plasmoids/org.kde.plasma.showdesktop/contents/ui /usr/share/plasma/plasmoids/org.kde.plasma.showdesktop/contents/config/main.xml /usr/share/plasma/plasmoids/org.kde.plasma.showdesktop/contents/ui/main.qml [tomasz@arch ~]$ The "window aperture" effect is supposed to stash windows to the closest corner and leave a small (but deat) part behind. There's also the "eye On Screen" effect that "slurps" windows (looks a bit like iOS...) Both effects cover the state change of "Show Desktop". ShowDesktop is NOT the same as minimizing all windows. If you do not like the effect look, turn it off, pick the other effect or come up with your own one (its all wired up to the script engine, you don't need to compile and can distribute it via eg. kde-look) Background: ------------------ Minimizing windows to gain that state has always been a technical detail and ultimately very confusing (there's a prominent bug about this behavior because ppl. abused it to -assumingly- "minimize all windows" to clean up their desktop, protesting that windows suddenly unminimize) - so in the end, Lubos added a hidden config key to make "ShowDesktop" more behave like "Minimize All" and that was still a suboptimal solution in any direction (hidden feature to enable a halfbreed solution, yey) To have a clean cut the implementation of the desktop showing state has been changed to no longer refer to "minimizing" (we raise the desktop window. We could alternatively have unmapped windows w/o inconifying them, but that would have been more code and you couldn't spot a difference ;-) To compensate for that change and esp. the "loss" of the hidden key to confuse the behavior even more, a public script was added that *really* just minimizes all windows (and does not affect the desktop showing state) I'm quite sure the current situation is not as intended. There's an artefact in the left corner (check the link in the original report above). Further the taskbar has disappeared (also shown in the png, but not immediately obvious). And finally the Cover Switch task switcher (my favourite) get's completely disturbed and will only alt-tab to the desktop window, which remains empty without task bar. Try and see. (In reply to Ferry from comment #7) > There's an artefact in the left corner (check the link in the original > report above). As I just said, that *is* intended behavior of the effect. The windows are actively kept to indicate the state. Check the script or the discussion on the review [1] > Further the taskbar has disappeared (also shown in the png, but not > immediately obvious). Intended, though open subject to discussion. See discussion on the patch review. > And finally the Cover Switch task switcher (my favourite) That's indeed a bug, it should break the mode on invocation like the other tabboxes (FlipSwitch will be affected as well) - i'll link the fixing review request here. Sorry for that. [1] https://git.reviewboard.kde.org/r/122679/ I always welcome new features, but making such a big change without preserving a way it was working before is definitely not a proper way. I am specially talking about the hiding panel while showing desktop. I am going to use hotkey for kwin-script-minimizeall and already thinking about implementing plasmoid with same functionality to completely revert pre-5.3 show desktop behavior. Not pretending for anything, just my 5¢ Thomas, no worries :-) You say that moving the windows to the corner is intended and so is that little artefact (which incidentally collides with that other thingy that can show the dash board / unlock widgets and change the activity. The artefact seems to be greyed out, and I have no clue what can be done with that. So how is it intended that I interact with that? The remaining window fraction is merely a visual effect of the particular KWin Effect - there's nothing to interact with (ie. you can "click through", there's nothing) About hiding the panels, as mentioned there was no final decision taken (relates to whether show desktop should be some sort of edit mode, rather replace the dashboard) I'd recommend to open a discussion on forum.kde.org on the desired behavior/usecase here (which is trivial to fix/control - eg. plasmashell could even set only specific panels transient for the desktop) Ideally read across the first linked review request first. I get it. For me, being able to alt-tab using the cover switch to the desktop is the most important as is this way I can get to the icons on my desktop. This way I get sort of a similar behavior as previously with the search and launch desktop. (I have a acer 720p with touch panel/touch screen, so a few large icons to touch on the desktop are the easiest way to launch my most used apps). I only put the 'show desktop' widget on the task bar as alt-tabbing to the desktop wasn't working. I understand that alt-tabbing to the desktop (even though called 'include 'show desktop' icon) is not the same as clicking on the 'show desktop' widget? (In reply to Ferry from comment #13) > I understand that alt-tabbing to the desktop is not the same as clicking on > the 'show desktop' widget? Technically the alt+tabbing to the desktop sets the _NET_SHOWING_DESKTOP property on the root window to "1" - I assume the plasmoid would do the same, but afair there's also a plasmoid to minimize all windows (bit like what the new kwin script does) Afaik, alt+tab to desktop is a windows feature clone, but I don't know how windows behaves here. It's however always been setting the _NET_SHOWING_DESKTOP state on the root window. If you think it should rather behave like minimize all (in terms of what happens to windows eg. also in the taskbar or when another window gets added, which breaks the desktop showing state in most cases) because that is what windows does, please file a bugwish in that regardd against kwin (tabbox component). If your concern is about the panel visibility, please present your usecase to the usability team (in doubt open a thread in forum.kde.org) for reconsideration of the behavior (since the technical adjustment is, as mentioned, trivial) (In reply to Thomas Lübking from comment #14) > but afair there's also a plasmoid to minimize all windows (bit like > what the new kwin script does) Can you please point me to this plasmoid? I did a quick search, but didn't find anything like this. "afair" "as far as i remeber" - i could be wrong (and don't have it at hand) However, since your main problem is the hiding panel you can likely workaround this (until a decision is taken and the situation properly resolved, likely by -conditionally- setting panels transient for the desktop) by setting it to keep above all windows. "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. To add the plasmoid, go to the task bar, unlock widgets, go the right corner, add widget, then add SHow Desktop. @Thomas I still don't get the logic of disabling the panel when alt-tabbing to the desktop. All other windows that are reached in this way have a panel. Why this exception? I have no idea how 'windows' handles this, only how KDE does this since kde4 when using 'netbook' mode (or in desktop mode when you make settings your self) @Thomas Anyways I followed your advise and disabled the aperture effect and set a rule to enforce docks keep above. Still alt-tab behaves odd: tabbing to the desktop it appears but semi-tranparent, some window is vaguely shown behind it. Further, alt-tab seems to loose the window count. After alt-tab to the desktop, a next alt-tab does not show the selected window, but again shows the desktop. Should this be fixed by your patch is or this unrelated? (In reply to Ferry from comment #17) > I still don't get the logic of disabling the panel when alt-tabbing to the desktop. a) the show desktop thing doesn't belong there in the first place. The tabbox would activate the window. I assume that since that would usually (often) implitly raise the window, but the desktop cannot be raised, the desktop showing state is toggled instead (what now actually raises the desktop) > All other windows that are reached in this way have a panel. See above. The panels (usually) reside in the dock layer which is above the normal layer (where most windows hang around). Activating a window will usually raise a window in its layer, but raising the desktop in the desktop layer is NOOP - there's no naturally consistent behavior: the entire feature is an exception by its nature. Thus the main aspect of the RR was to query into which layer the desktop should be moved, ie. between normal windows and panels, along panels or above panels. Status quo from HIG team is: "The thing is that we have not defined what the dashboard is supposed to be used for. If it is only for glancing at or quickly interacting with desktop widgets, then panels would only be distracting. If it is for interacting with the workspace in general, then of course panels should be accessible. One argument against showing panels would be that clicking on a window in the task switcher would break the mode" Because of that I made the implementation fine grainable: panels can simply opt-in to remain on top by tagging themself transient for the desktop (what is the consistent flag) (In reply to Ferry from comment #18) > @Thomas Anyways I followed your advise and disabled the aperture effect and > set a rule to enforce docks keep above. > > Still alt-tab behaves odd: tabbing to the desktop it appears but > semi-tranparent, some window is vaguely shown behind it. I think this is due to plasmashell adjusting the opacity during the showdesktop mode (to be more dashboard-a-like) - at least KWin does not alter the desktop opacity in this case. > Should this be fixed by your patch Yes. The Cover- and FlipSwitch tabboxes are simply broken w/o the patch (I simply forgot them and they use a different code path than the other tabboxes. Sorry again for that) > Status quo from HIG team is:
> "The thing is that we have not defined what the dashboard is supposed to be used for. If it is
> only for glancing at or quickly interacting with desktop widgets, then panels would only be
> distracting. If it is for interacting with the workspace in general, then of course panels should be accessible. One argument against showing panels would be that clicking on a window in the task > switcher would break the mode"
This how I use it. I have starters on the desktop, and quickly want to tab to those. Panels do not really distract me, lots of other stuff does :-)
As alt-tab is so fast, I often alt-tab to the desktop only to find that the starter I'm looking for is not there. So then I need to fall back to the launcher which is on the panel.
I understand there is a technical reason why the desktop is not treated as any normal window. However as a user, the behaviour as in kde4 to kde5.2 makes perfect sense, however the implementation.
I'll wait until your patch lands into kubuntu backports before further commenst.
Thanks!
In my opinion, the old behavior of Show Desktop make more senses, because I don't have a use case for the new behavior. At least, you should have provide a widget for the old behavior. Kwin script are hidden deep within the system settings, and it's not obvious to the users how to use it. Another even worse use case: 1. Show desktop 2. Change activity (e.g. by activity-bar on desktop) 3. Change back to previous activity --> 4. NO way to access windows on this desktop! Pressing on the taskbar is no use, calling "show desktop" again is no use either. The only way out seems to be for me a kwin_x11 --replace. Looks that way: https://dl.dropboxusercontent.com/u/12168886/arch/plasma5.3-show-desktop-change-activity.png I'm not sure whether this belongs to this bug or if I should file another bug for that. P.S. to my previoius comment: 1. to 4 as before, (show desktop -> change activity -> change back) 5. call the "show windows" function (CTRL + F9): Windows are not shown, but some gray shadows, probably the window-title-text, are somehow there. No way to interact with them, no wa out. Except kwin_x11 --replace (I assigned that as a keyboard shortcut...) Regarding hiding the panel being intended: that goes against the expected behavior, because it is also hidden if "always visible" (default) is selected in panel settings. Also, with window aperture effect enabled, the panel flickers in and out of visibility using nvidia's 340xx blob for me. Actually, the panel flickering seems to randomly happen even if window aperture is disabled. @bazonbloch@arcor.de Your problem is a bug in the aperture effect and/or activities. The "showing desktop" state is broken on switching activities, but the aperture effect (maybe effects entirely) somehow misses that and keeps the windows in wrong positions. Restarting the compositor (SHIFT+Alt+F12) will clear the stage in the regard. See bug #347174 I've just updated to 5.3 (on Arch Linux) and I was quite "shocked" by the new "Show Desktop" behavior. I have the "Show desktop" plasmoid on my main panel, with no keyboard shortcut attached to it (or at least I don't know the default shortcut for this, I have yet to memorize the millions of shortcuts available :-)). I was really surprised that my panel got hidden, only displaying this "weird" artifact in the top left corner. So how would one get his desktop back, without knowing the shortcut for "Show desktop"? I was clicking like mad on everything, hoping to somehow get my desktop back. In the end I seriously had to reboot my computer to get back to my desktop. After reboot the first thing I did was to define a shortcut for "Show desktop", so I don't get trapped again like this. Personally I totally agree with all the previous comments. This new behavior is totally counter intuitive, and I also can't come up with a reasonable use-case to hide the panel. I'm also all open to new features and everything, but changing something like this in such a radical way seems unreasonable to me, especially for noobs like me who don't know really much about KDE and all the shortcuts and customizations available (Plasma 5 is the first KDE Desktop I've ever used). Also, not only switching activities is troublesome while "showing desktop": I've now been trying to figure out how this new "show desktop" is supposed to be useful, and during my fiddling I hit another trap: I accidentally hit my scroll wheel. By default the scroll wheel seems to switch to another virtual desktops, but doing so while "showing desktop" will it make impossible to bring back any windows. The result is the same as described by bazonbloch. Other than that, I wasn't able to figure out the usefulness of this new feature... it seems like a really weird decision to me (but I have yet to read the discussion on the review board of this feature). For now I'll definitively look into the KWin script mentioned and use that instead. *** Bug 347212 has been marked as a duplicate of this bug. *** We are likely to have minimizeall plasmoid soon: http://quickgit.kde.org/?p=kdeplasma-addons.git&a=shortlog&h=2c8bb64c08df8dc7d1b91fcb14637646fe7e6d56 But showdesktop plasmoid is useless since 5.3 anyway. It should be either dropped or kwin should keep panels when showing desktop. I agree with comments above. Who doesn't know Xorg internals doesn't know that "desktop" is really the "root window" and panels are windows themself. So "show desktop" for normal users means "show me what is behind applications" or "free the screen of all application windows". No one cares about "root window". Also I wasn't able to figure out the usefulness of this new feature. This has nothing to do with the root window and there's no new feature. Altering the implementation (completely behind the scenes and for other reasons) simply raised the question "what do we do with panels". That's all about it. In all the noise it might be good to point out that Thomas workarounds made my desktop functional again: 1) disable the 'Windows Aperture' effect in the compositor effects list 2) add a Window Rule to force Docks on top Further I placed a widget (Show Desktop) on my panel. Clicking on this minimizes all and the window rule above makes the panel show. With these steps the original behaviour is returned to pre 5.3, except for the bug remaining in the Alt-Tab, which is irritating but usable. And already fixed, so we just need to wait a bit for this to land. (In reply to Ferry from comment #33) > With these steps the original behaviour is returned to pre 5.3, except for > the bug remaining in the Alt-Tab, which is irritating but usable. And > already fixed, so we just need to wait a bit for this to land. Not really, see: https://bugs.kde.org/show_bug.cgi?id=346933#c8 Here's a plasmoid that produces the minimize windows behaviour: https://git.reviewboard.kde.org/r/123653/ (In reply to Sebastian Kügler from comment #35) > Here's a plasmoid that produces the minimize windows behaviour: > https://git.reviewboard.kde.org/r/123653/ Thanks. I tried to compile it as a standalone plasmoid. Despite my efforts to correct the CMakeList.txt, I failed. Can you make a buildable tarball so I can try the plasmoid? Thanks! Try just building the whole kdeplasma-addons repo with this patch, I'd rather spend my time now on getting this feature in shape, it's too early to package it up. Thanks, Sebastian - I applied the patch and rebuild the plasma-desktop (I am on Arch) to the the plasmoid and it is working fine! One question still have is: when I perform show desktop using kwin-script-minimizeall script, new plasmoid fails to restore the windows state on click and wise versa - when windows are minimized by plasmoid, kwin script fails to show them back. It this expected behavior? For now I just stopped using kwin-script-minimizeall and use Meta+D as Minimize Windows plasmoid shortcut, so I got a consistent behavior of both plasmoid and hotkey which I had in plasma before 5.3. Minimize all really minimizes all windows. On a secondary invocation it'll restore the windows it has minimized but eg. unminimizing a window through the taskbar won't implicitly unminimize all other windows. It's pretty much the behavior you got for the hidden ShowDesktopIsMinimizeAll config key (just a bit more consistent) I'll create a patch to allow plasmoids to keep their panel transient for the desktop (ie. visible while showing the desktop) - we'll then figure whether ppl. want panels above the desktop beyond that (ie. beyond the plasmoid button usecase - I frankly didn't even know that thing existed ;-) This is The Most Irritating Issue I have experienced with Plasma 5.3 so far. The default settings on Fedora 22 Beta not only minimize the application to the top left corner and provide no actual controls it also hides the panel making it appear as if the desktop has crashed! I reconfigured Plasma and set the pager setting to "Selecting Current Desktop" Does Nothing, and disabled The Window Aperture Desktop Effect. I personally would like to see this overhauled and replaced with the following options: 1. Pager Selection Options when selecting a desktop you are not currently utilizing moves you to that desktop. "Same as know" 2. Selecting the desktop that you are currently on could have the following four choices: 2.1 Do nothing! 2.2 Minimize all Application on the current Desktop! NOT Hide The Panel! 2.3 Minimize all Application on the current Desktop and Display the Desktop Dashboard! 2.4 Display all open application on the current desktop for quick selection, "This could also be a right click option on the pager desktop" I do not consider any other workflow actually appropriate. Please also get ride of the + - icons in Dolphin or move these to an accessibility feature if they are intended to be an accessibility feature for mouse over and right click! Git commit 7a7d79a1689416f52fc11404b9400696600fa412 by Thomas Lübking. Committed on 15/05/2015 at 19:58. Pushed by luebking into branch 'Plasma/5.3'. break desktopshowing state from cover & flipswitch REVIEW: 123550 M +1 -0 effects/coverswitch/coverswitch.cpp M +1 -0 effects/flipswitch/flipswitch.cpp http://commits.kde.org/kwin/7a7d79a1689416f52fc11404b9400696600fa412 Git commit 7a6ee1c7bb00c70a61f314ae98ad08b75969851d by Thomas Lübking. Committed on 15/05/2015 at 21:55. Pushed by luebking into branch 'master'. break desktopshowing state from cover & flipswitch REVIEW: 123550 M +1 -0 effects/coverswitch/coverswitch.cpp M +1 -0 effects/flipswitch/flipswitch.cpp http://commits.kde.org/kwin/7a6ee1c7bb00c70a61f314ae98ad08b75969851d 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 346933, bug 347212 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 346933, bug 347212 M +6 -0 layers.cpp M +3 -0 workspace.cpp http://commits.kde.org/kwin/a16a489a43aef03e198630f80d8236b56052b6f9 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 346933, bug 347212 M +12 -16 client.cpp M +0 -1 client.h M +0 -2 manage.cpp http://commits.kde.org/kwin/43e3b7db285c48efb25966334262d0e80190fd9e 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 346933, bug 347212 M +5 -2 activation.cpp http://commits.kde.org/kwin/eb789e43e317fbb25fbd1f51d0edf9800f8c002a Exactly HOW is this fixed, from the POV of a surprised user who discovers that removing sheet music suddenly started causing the keyboard lid to forcibly shut (which would happen if KDE developers made pianos)? How ***DO*** I get the "show the desktop+panel conceptual and functional whole" functionality back? Step by step instructions with screenshots please. > Exactly HOW is this fixed Are you saying that you use a recent git snapshot that includes the commits from comment #41 up to comment #46 but this bug is still reproducible? @Szczepan Hołyszewski Commit is present in development snapshot. When Plasma 5.3.1 (with lots of fixes) will be released, then You will have to install fixed packages version. *** Bug 348397 has been marked as a duplicate of this bug. *** |