rxhanson / Multitouch-Community

Issue and feature request tracking for the Multitouch app
https://multitouch.app
39 stars 0 forks source link

Feature Request: Allow "move window under cursor" to work on background windows #212

Open jwhitley opened 1 month ago

jwhitley commented 1 month ago

Feature request

Allow the "Move window under cursor" operation to work on any window directly under the cursor, regardless if that window is the frontmost window. Right now that action only works on the frontmost window. This is fairly unintuitive as it requires a separate click-to-raise before moving a background window will work. Whereas the usual macOS click-and-drag on the top bar of a window is effectively a single gesture as far as the user is concerned, so it works the same with any frontmost or background window.

Notes

Being able to move a window with a simple gesture from any point inside the window, regardless of its frontmost status, turns out to be really wonderful. I took interest in Multitouch as a possible replacement for this "killer feature" from a long-unmaintained app called Flexiglass. That app has an operation like "Move window under cursor" except that it works on any window, not just the frontmost window. This move operation doesn't change the window order. Because of that, this operation strongly feels like rearranging physical papers on your desk. I'll also note that Flexiglass permitted "key chord plus trackpad gesture" bindings, e.g. "Command plus two-finger drag" (no click required). AFAICT, that part isn't possible with Multitouch today.

jwhitley commented 1 month ago

Feh. I swear I was trying this extensively yesterday with the two-finger "tap then lift" gestures and could not get it to work on any background window. I found the two-finger gestures inconsistent overall, so I switched to the three-finger variant this morning and I am in fact able to move any window regardless of whether it's frontmost. However, any window moved like this does pop up to frontmost. It's not the end of the world, but as I wrote above, it'd be great if it's possible to preserve the window order.

Pending any further triage and discussion, this issue should probably be renamed for clarity.

jwhitley commented 1 month ago

For clarity: I originally tried this with the "Rest one, tap one [to left/right]" gestures and had the difficulty mentioned above.

Once I switched to "Rest three touches, remove all but one" I was able to move background windows.

rxhanson commented 1 month ago
  1. Not bringing the window frontmost. This functionality is behind a defaults flag (not in the UI), and is enabled with this Terminal command:

    defaults write com.brassmonkery.Multitouch windowToFront -int 1

    As I was looking through the code on this, I realized it was actually broken. I put in a fix in this version, not yet an official release: https://www.multitouch.app/downloads/multitouch1.27.33.dmg

  2. The two finger rest one tap one gestures are inherently difficult to get right, both from the Multitouch side and the user side, and can take some time to learn how to get it just right. I typically recommend the gestures you went with, the rest 3/4/5 & remove all but one gestures.

jwhitley commented 1 month ago

Great, thanks Ryan. I’ll give that a try today.

jwhitley commented 1 month ago

I can happily report that the unofficial release and the defaults write ... incantation worked great. It'd be nice if that could be exposed in the UI somewhere, but otherwise this is just perfect. Thanks for your help!