Bug 455355 - Regression in 5.25: Mouse no longer configurable / pull action completely gone
Summary: Regression in 5.25: Mouse no longer configurable / pull action completely gone
Status: CONFIRMED
Alias: None
Product: kwin
Classification: Plasma
Component: effects-present-windows (show other bugs)
Version: 5.25.0
Platform: Other Linux
: NOR wishlist
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2022-06-15 18:05 UTC by Christian (Fuchs)
Modified: 2023-02-09 05:23 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian (Fuchs) 2022-06-15 18:05:45 UTC
SUMMARY
As per https://bugs.kde.org/show_bug.cgi?id=455332

Pulling a window to the current workspace is no longer possible (plus not configurable), 
closing windows is possible but neither explained / visible to users nor configurable

STEPS TO REPRODUCE
1. Open the config for present windows
2. Try to configure mouse buttons to pull / close

OBSERVED RESULT
Can't

EXPECTED RESULT
Can, as in < 5.25 you could choose a mouse button to close (which is a good feature, but not so great if people can't configure it _plus_ don't know that it exists, as currently it is not exposed via the GUI) and you could choose a mouse button to pull the window to the current desktop  (which is a good feature, but no longer there)

Operating System: Fedora Linux 36
KDE Plasma Version: 5.25.0
KDE Frameworks Version: 5.95.0
Qt Version: 5.15.3
Kernel Version: 5.17.13-300.fc36.x86_64 (64-bit)
Graphics Platform: X11
Processors: 12 × AMD Ryzen 5 5600X 6-Core Processor
Memory: 31.2 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 3070/PCIe/SSE2
Comment 1 Nate Graham 2022-06-16 18:43:36 UTC
Can you explain what "Pulling a window to the current workspace is no longer possible" means? I don't have this usage mode so I'm not familiar with how it used to work.
Comment 2 Christian (Fuchs) 2022-06-16 20:12:23 UTC
(In reply to Nate Graham from comment #1)
> Can you explain what "Pulling a window to the current workspace is no longer
> possible" means? I don't have this usage mode so I'm not familiar with how
> it used to work.

Sure, so on the old effect you could bind actions to mouse buttons, activate (obvious), close (obvious) and at least pull to current desktop, maybe others, but these are the ones I used. 

What pull to current desktop does: Say you have 6 virtual desktops, and you are currently on desktop 1, and start the effect: with that mouse button you could pull windows from desktops 2-6 to desktop 1, which is very handy and efficient to manage multiple windows at once, e.g. if you want to pull a code editor and a browser with documentation quickly to the same virtual desktop
Comment 3 Christian (Fuchs) 2022-06-16 23:06:25 UTC
A very crude way to get that behaviour again would be to modify the main.qml of windowview to 

            onWindowClicked: {
                if (eventPoint.event.button == Qt.MiddleButton) {
                    window.closeWindow();
                }
                else if (eventPoint.event.button == Qt.RightButton) {
                    window.desktop = KWinComponents.Workspace.currentDesktop;
                }
                else {
                   return;
                }
            }


but imho this should be configurable, as in: users can configure what the left, right and middle button do, possibilities being activate, pull, close, nothing. Plus probably there should be some checks, e.g. I have no idea how currentDesktop behaves in some edge cases / on Wayland, and https://develop.kde.org/docs/extend/plasma/kwin/api/#read-write-properties  is a bit bare. But if you want to see what the functionality would do: the above will do just that.
Comment 4 Nate Graham 2022-06-17 17:32:49 UTC
Thanks, that's helpful. Confirmed. Marking as a bug rather than a wishlist item since the intention was to preserve feature parity with the QML port.

Given that re-adding this feature would require adding new UI and new strings, I'm afraid it'll have to be merged for 5.26 rather than a 5.25 bugfix release.
Comment 5 Christian (Fuchs) 2022-06-18 10:44:50 UTC
(In reply to Nate Graham from comment #4)
> Thanks, that's helpful. Confirmed. Marking as a bug rather than a wishlist
> item since the intention was to preserve feature parity with the QML port.
> 
> Given that re-adding this feature would require adding new UI and new
> strings, I'm afraid it'll have to be merged for 5.26 rather than a 5.25
> bugfix release.

That's sad but was somewhat to be expected, I'll have to live with local patches for a good while anyway, since it's not the only thing missing. And thanks to it being QML, people affected can patch it locally with their preferred actions hardcoded, example see above. 

Wrt UI: for the sake of consistency and (half of the) strings: icon only task manager has a UI for exactly this (middle click entries). 
I suggest just using that for each mouse button. I think configuring the plasma desktop -> mouse also has one of these, but that's very flexible (you can add and remove mouse buttons), not sure if we want to go that whole mile, but if so: that would be a good template for it.

Fuchs
Comment 6 Marco Martin 2022-07-14 14:49:46 UTC
This was a pretty obscure feature, assigning random actions to buttons (that one, moving a window to whatever the current desktop was, doesn't seem particularly intuitive) while a drag and drop is not much longer to perform than that.

This is something we want to remove in general (mouse button x on the window thumbnail doing an action which is not activating the window)

to have more immediate features like that, we need some good design analysis beforehand, for now moving as feature request, should be discussed with VDG for further action
Comment 7 Christian (Fuchs) 2022-07-15 10:01:37 UTC
(In reply to Marco Martin from comment #6)
> This was a pretty obscure feature, assigning random actions to buttons (that
> one, moving a window to whatever the current desktop was, doesn't seem
> particularly intuitive) while a drag and drop is not much longer to perform
> than that.

They were not exactly random since there was a GUI to configure them and I think it wasn't enabled by default. 
Thus also not proposing to bind it to a fix mouse button, but rather offer the very same configuration GUI we offer for mouse actions on the desktop, which would be consistent and then people would know what buttons do  (including close, which, compared to pull, is a destructive and in many cases not undoable action). 

Drag and drop simply doesn't work because the effect is also used for selecting one window out of many (e.g. when you click on a grouped task in the taskbar) and for the present window effect, where you do not have the virtual desktops shown and so you can't drag and drop. 

A decent usecase to demonstrate is: you have n  (where n >= 2) windows of the same app open, say, konsole, and you open present windows by clicking on the taskbar entry. With that mouse button you could quickly pull all of these windows to your current virtual desktop.

> to have more immediate features like that, we need some good design analysis
> beforehand, for now moving as feature request, should be discussed with VDG
> for further action

I did discuss this in the VDG group as well, as far as memory serves if configurable consistently as other places where we allow custom mouse actions (e.g. the desktop) this would be fine. This would also solve the issue of currently having a (needed, don't get me wrong, it's a good feature) destructive action on one of the mouse buttons with no visual clue to the user that this will happen.