Summary: | Do not relayout windows immediately after closing one | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Franz Trischberger <franz.trischberger> |
Component: | effects-present-windows | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | CONFIRMED --- | ||
Severity: | wishlist | CC: | ae, bugseforuns, k2squared, nate |
Priority: | NOR | Keywords: | usability |
Version: | 4.10.0 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Franz Trischberger
2013-02-17 09:55:37 UTC
I'm not sure whether your use case is actually a valid one for Present Windows. My personal suggestion would be that you use a KWin script instead to simply close all windows. You can easily bind that to a global shortcut. Yeah, I thought of adding "of course this pplies to closing an arbitrary number of windows", but thought it might be clear. Use case 1: I updated a system component (directly from git/svn/...) that is used by several apps. I now want those apps to use the new library. Those apps are single-instance-only, so simply launching its command does not load the new version of the library but only open a new window in the existing process. (example: update to qt-webkit, now I want to close all rekonq/qupzilla windows). Use case 2: I simply want to close all dolphin instances, as I realize I always activate the wrong one ;) Use case 3: Simply clean up my workspace after a "hard" working session -> selectively close windows. To make it clear: I specifically use Present Windows in those cases, as it also shows me all minimized windows. Having to raise them (Alt+Tab etc.) prior to closing them is too time consuming ;) I don't use a task bar, so using its context menu is no option, too ;) give a try to: Alt+F2 -> dolphin close <enter> (yes it can only handle closing one window, but I would consider adding a closeall command to that runner). (In reply to comment #3) > give a try to: > Alt+F2 -> > dolphin close <enter> > > (yes it can only handle closing one window, but I would consider adding a > closeall command to that runner). =) You folks /do/ know pkill, do you ;-) Different from the windowsystem, this will btw. actually end the process(es) Not everyone is using plasma/krunner ;) Yes, there is kill/killall/pkill/kquitapp/... But they have in common that they close EVERY instance/window/... If I want to keep >=1 windows of the app this is no solution. Probably the most simple use case is: I toggle PW to switch windows, find the window I want to activate but also realize that there is a window I can close. Closing the window relayouts the view and I have to search for the window, again. (I wanted to prevent saying the "G"-word - but that was one thing I liked in gnome-shell ;)) Maybe this also is an accessibility-issue, but there I don't have any experience (besides being slightly color blind :P). I'd say to either re-layout after explicit closes or not re-layout them. Adding a timer or re-layout the windows when you leave the next window just schedules your problem and makes it more confusing (because the action takes place w/o direct cause) On whether to re-layout or not after closing windows, i've no opinion. *** Bug 413598 has been marked as a duplicate of this bug. *** Please either remove the relayout call (oneliner TM), or make it an option in System Settings (tenliner ;-)). THANKS! Git commit ae1937badc097a864ecfc62e79e7a3899c3be572 by Marco Martin. Committed on 06/05/2022 at 11:37. Pushed by mart into branch 'master'. Remove completely present windows since it has been replaced by windowview, and Desktop Grid is ported as well, remove present windows which is effectively dead code now Related: bug 447001, bug 362844, bug 450487, bug 453426, bug 374481, bug 185381, bug 413342, bug 451150, bug 283333, bug 397500, bug 321236, bug 436572, bug 335782 M +0 -1 src/effects/CMakeLists.txt D +0 -45 src/effects/presentwindows/CMakeLists.txt D +0 -17 src/effects/presentwindows/main.cpp D +0 -18 src/effects/presentwindows/main.qml D +0 -75 src/effects/presentwindows/metadata.json D +0 -2054 src/effects/presentwindows/presentwindows.cpp D +0 -343 src/effects/presentwindows/presentwindows.h D +0 -51 src/effects/presentwindows/presentwindows.kcfg D +0 -104 src/effects/presentwindows/presentwindows_config.cpp D +0 -46 src/effects/presentwindows/presentwindows_config.h D +0 -487 src/effects/presentwindows/presentwindows_config.ui D +0 -36 src/effects/presentwindows/presentwindows_proxy.cpp D +0 -35 src/effects/presentwindows/presentwindows_proxy.h D +0 -6 src/effects/presentwindows/presentwindowsconfig.kcfgc https://invent.kde.org/plasma/kwin/commit/ae1937badc097a864ecfc62e79e7a3899c3be572 Removing the old code doesn't make wishlist requests invalid for the new version (which has the same name, so they are the same thing from the user's perspective); re-opening. |