Skip to content
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

Yabai Window Move and Resize #2211

Closed
takahashi-mei opened this issue Apr 4, 2024 · 4 comments
Closed

Yabai Window Move and Resize #2211

takahashi-mei opened this issue Apr 4, 2024 · 4 comments
Labels
help wanted Community help appreciated question Request for information or help, not an issue

Comments

@takahashi-mei
Copy link

takahashi-mei commented Apr 4, 2024

Yabai after 7.0.0 seemed to have altered how I can trigger window move and resize, which was through BetterTouchTool's by simulating fn + left mouse click when I three-finger tapped.

The only way I can move the window now is holding down fn (set in Yabai config) or ctrl + cmd (defaults write -g NSWindowShouldDragOnGesture -bool true) and physically clicking, if I try to trigger movement with simulated mouse clicks, the window stutters in place as I try to move it around. I'm hoping there's a direction I can be pointed towards troubleshooting.

test.mp4
@koekeishiya
Copy link
Owner

So the way this works is that yabai intercepts the click event. This is used to detect which window is to be operateed on.
If there are drag-events that follow, the window will be moved accordingly, until the mouse-up event is received.

Upon mouse-up received, we check if the window is a floating window, and if yes, do nothing. If it is a managed window, we either swap/warp if is it dropped on some other managed window, or move it back to its assigned region if not.

I have no idea how BTT simulates the click and how that changes the state in macOS. You can enable yabai -m config debug_output on and see which events are being processed when you do this.

@koekeishiya koekeishiya added help wanted Community help appreciated question Request for information or help, not an issue labels Apr 4, 2024
@takahashi-mei
Copy link
Author

After some testing with BTT and Karabiner / reading through referenced issues #1809 #1378 and 1240042, I thinking it's because BTT simulates clicks higher than kCGHIDEventTap. My understanding is that since Karabiner creates a virtual driver and sends input as if it's from hardware, Yabai will respond to Karabiner inputs but not from BTT.

For now I will simply roll back to a previous version, since I wasn't having the issues described in that update. Thank you for all your work on this!

@s-daveb
Copy link

s-daveb commented Apr 30, 2024

After some testing with BTT and Karabiner / reading through referenced issues #1809 #1378 and 1240042, I thinking it's because BTT simulates clicks higher than kCGHIDEventTap. My understanding is that since Karabiner creates a virtual driver and sends input as if it's from hardware, Yabai will respond to Karabiner inputs but not from BTT.

For now I will simply roll back to a previous version, since I wasn't having the issues described in that update. Thank you for all your work on this!

I'm experiencing a similar problem while connecting to a mac via macOS Screen Sharing. What version of yabai did you revert to, if I may ask?

@takahashi-mei
Copy link
Author

takahashi-mei commented May 2, 2024

After some testing with BTT and Karabiner / reading through referenced issues #1809 #1378 and 1240042, I thinking it's because BTT simulates clicks higher than kCGHIDEventTap. My understanding is that since Karabiner creates a virtual driver and sends input as if it's from hardware, Yabai will respond to Karabiner inputs but not from BTT.
For now I will simply roll back to a previous version, since I wasn't having the issues described in that update. Thank you for all your work on this!

I'm experiencing a similar problem while connecting to a mac via macOS Screen Sharing. What version of yabai did you revert to, if I may ask?

I rolled back to e5370a1, just right before v7.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Community help appreciated question Request for information or help, not an issue
Projects
None yet
Development

No branches or pull requests

3 participants