-
Notifications
You must be signed in to change notification settings - Fork 237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3-finger drag #10
Comments
So you want to move windows using a 3 finger swipe movement? And btw, is that "gnome" feature you describe actually the libinput feature called tap-and-drag as described here https://wayland.freedesktop.org/libinput/doc/latest/tapping.html |
Yes, but it's not limited to windows, it's a system wide feature. I've been looking for the native feature, but as far as I can see developers decided not to implement rhe feature inside the libinput driver itself, but leaving it on the compositor side. |
Can you please explain more precisely what you want? What do you mean "a system wide feature"? |
While I can't speak on @nos1609 behalf, I know that I would love a three finger drag akin to the way Mac OS X does it: moving windows, selecting text, etc. Essentially tap-and-drag implemented as a three finger swipe gesture |
@bulletmark I mean that using Gnome DE there is ther possilbility of dragging anything, not only windows like @DonnieWest precised. So we can assume it as a system-wide feature. |
I prefer not to implement this sorry. This utility is a simple design and imposes little system performance overhead. I'd like to keep it that way. At present, it merely actions a single command (typically via xdotool) at the very end of the sequence of frequent gesture updates. The proposal here would require it to action a command at every gesture update which is alien to it's current design. I'm not confident that it would perform very well either. |
Any update about how to do "3 finger drag" on Linux? |
No, my comment just above yours still applies. To implement this would be messy, require significant processing overhead, and is discordant with the current design. |
I know I was just asking if now there is a way to do it because it is very convenient in several situations, ex. moving inside google maps |
I'd also love to know if anyone finds a way to implement this; I really miss the three-finger drag feature from macOS. |
I think the correct place to follow this issue is https://bugzilla.gnome.org/show_bug.cgi?id=768421 |
I used xf86-input-mtrack, and it allows 3-fingers drag with proper configuration. |
@etnbrd Thanks, I'll try it which is the output of your |
@etnbrd could you share your config? |
You will find all the documentation here : https://github.com/BlueDragonX/xf86-input-mtrack But I have to say, I just reinstalled my machine, and noticed that I don't need |
xf86-input-mtrack won't work on Wayland though :( |
@GNOME-IS-LIFE there is an updated fork here, https://github.com/p2rkw/xf86-input-mtrack |
For those interested: I've just forked this repo and added swipe begin/update/end gestures which can be used for a crude 3-finger drag as @nos1609 suggested. It's "crude" because it seems to bypass pointer acceleration, but it's enough to still be functional (at least on my machine). I added this usage example to the config:
https://github.com/daveriedstra/libinput-gestures/tree/three-finger-drag Thanks @nos1609 for the idea and @bulletmark for the very elegant code which made it straightforward to implement. I understand you're not looking to add this feature to the main design, but I'd be happy for your (or anyone's) comments on the code as I'm not very pythonic. |
Hi, tried the 3-finger-drag branch and the feature works great! I was even able to make it drag windows with the pointer anywhere on the window (not just the title bar) making it very much easier to drag windows at will! Taking advantage of the "move window" keyboard shortcut I'm using in my XFCE window manager settings: |
A better, and universal (works in all DE/WM) way to do this is to use gesture swipeupdate all 3 xdotool getactivewindow windowmove --relative -- x y |
Indeed this is a better way. It can move window regardless of where the mouse pointer is. |
Hi am new to Linux and i dearly miss the 3 finger drag. Could anyone give me a heads up on what to do/install to configure it? i am on manjaro... |
@davidvicuna You'll need to install the version from this repo (the instructions are the same) and use something like the example three finger drag config. Be sure to read the three-finger drag paragraph in the readme. |
I forked @daveriedstra repo, then Add timeout for swipe gesture and add delays for drag gesture, so I can use drag and swipe in the same time (4 finger swipe and 4 finger drag or 3 fingers). https://github.com/amarullz/libinput-gestures I know it was a hack, but It works fine for now and can be use for productivity. Here the extra config:
EDIT: set gesture_all3_use_delay 0 if you dont use three finger swipe (only used it for 3 finger drag/drop) |
Hey @amarullz
|
I wrote a GNOME Shell Extension to adapt window dragging with three fingers. https://extensions.gnome.org/extension/2164/three-finger-window-move/ |
@do-sch this is INCREDIBLE! Thank you so much! |
@daveriedstra I having trouble copying text selected with a 3 finger scroll.
However the issue is after selecting the text it, the browser somehow goes back to the previous page.
|
@cpphey, please discuss issues about @daveriedstra code on his repo, not here. |
What people call three-finger drag is actually just a three finger swipe simulating a mouse movement with the left button pressed. I'm currently using @jasper-van-bourgognie's fork of libinput (installed via the libinput-three-finger-drag user package in arch linux) which is working as intended with either sway or xorg (using xf86-input-libinput). It looks like @jasper-van-bourgognie has been applying @complyue's changes to newer versions of libinput in an effort to keep it up-to-date. I think the pertinent question is which layer should this functionality ultimately be implemented in. It seems like either it should be in libinput itself or in the application layer (wayland compositor or xorg window manager). It looks like the set of changes to libinput is rather minimal. In my experience, it's working really well and the window manager doesn't even need to know how you're doing it. I'm using it constantly to select text by moving three fingers over the touchpad surface (and occasionally I drag a window, although that is almost never necessary with sway). As it looks like there's a discussion currently ongoing about including three-finger drag in libinput, perhaps we should shift our attention there. |
@specious does it work for you to change a window's size in Sway's floating mode? |
I'm able to drag the individual sides of a floating window. I can also drag the entire window by grabbing any part of it if I hold down the designated mod key. That's because in my sway config I have:
It is interesting, however, that I can't drag two sides simultaneously by dragging a corner. |
would love to use it on KDE Plasma with Wayland |
So, with yesterday's update, libinput-three-finger-drag is not working anymore. Any way to get this feature working? thanks |
@luigi370 "yesterday's update" of what? |
xf86-input-libinput 1.2.1-1 -> 1.3.0-1 (Arch linux) after updating with pacman this, the system was able to boot but i was not able to pass the login screen as my keyboard and mouse where dead. Only way to fix it was installing libinput and of course.. uninstall libinput-three-finger-drag. |
This is the wrong project. |
Can you add funcitionnality to transform
and
into the end of dragging?
something like
Gnome has an already working feature to drag anything by tapping the object once and dragging it on second click. So all we need is simulating a click and left button hold while receiving GESTURE_SWIPE_UPDATE. When there is a GESTURE_SWIPE_END event the left mouse button has to be released.
Could you please add this feature.
Thank You!
The text was updated successfully, but these errors were encountered: