The problem is that BTT stores the click position of the front window incorrectly when the window is moved. You said this has something to do with the y value and that you want to fix this.
The y issue is only for the BTT window, no? (just enter x 0 and y 0 and it should work for other windows)
But it's fixed in my local build anyways will release that tomorrow.
no probably not - as said I fixed it in the version I'm running on my local machine already. That's why I might not have noticed the issue anymore while testing this. The fix will be released tomorrow!
Check out this improved poor man's substitution to the awesomeness of one key trigger in AltSnap:
Sets the following triggers: fn+
Top: Q/W/E (←↑→)
Middle: A/D (← →, no middle as you don't resize anything there, but you can set it to move action if you want)
Bottom: Z/X/C (←↓→)
Then as long as you hold them, you can resize the window with a touchpad
Downsides:
needs many keybinds
you ←→↑↓ alignment isn't perfect as you can't set a 50% of window width mark, so I've chosen approximate 400 pixels for ←→ and 200 for ↑↓
anything else?
PS
Is it possible to group the keyboard shortcuts in the list? For example, I'd like to have all of these 18 keybinds to be grouped together visually under one header (that I could also collapse)
I don't know, I haven't tested this, but maybe there is a way to use only one shortcut with the Advanced Conditions, eg if the mouse is in the upper left corner of a window, then resize the window from there. So you would have to move the mouse to the desired location first and then use the shortcut.
@Andreas_Hegenberg [Andreas_Hegenberg] should know the full power of his tool, so let's wait for his response
I'll meanwhile use the 9fn script as that seems to still be better than being able to only resize from the bottom-right
I see there were some hacks provided in this thread, but what of @vurt's original request? Could this be part of the built in "resizing modifier keys" feature?
that's rather unfortunate as this is the best way to resize a window
Would you at least let us know whether it's possible to have a single shortcut instead of a dozen? Can I bind a shortcut depending on the cursor position relative to the window, so that the same shortcut would
resize top left corner if the mouse is in the top left area of a window (with user configurable width/height %)
resize bottom right corner if the mouse is in the bottom right area of a window
Also, is the following workflow possible:
enable resizing on some type of mouse click
move your mouse to resize up to whatever you like
use the same click as in 1. to finish the resizing and exit the workflow
I'm using key down / up events as triggers in the workflow above, but that requires holding down the key. Instead I'd like to have some kind of set variable true on first key press and then the second key press would only activate if he var is true and then change it back to false or something similar
I briefly looked into trigger variables, but couldn't find custom user vars for that, only system ones that contain some info on mouse position etc., but could've easily overlooked something
(Karabiner elements has this custom user var feature for exactly these types of workflows, and it's great to be able to have these custom conditions in keybinds)
Lastly, is it possible to set mouse position in % of window width/height rather than using absolute pixels?
I'm really no expert on such things, but I think the answer to most of your questions is yes.
But do you always know where the mouse is when you use a shortcut?
I haven't tested this, but spontaneously I would say there are more intuitive solutions if you want to use the keyboard.
Example: ⌥+s activates the "window mode". ⌥+s+a/d stands for left/right. ⌥+s+w/x stands for up/down. This can be fine-tuned as you like and should be possible with Key Sequences.
Yes, it does, thanks a bunch, much more convenient vs having to use 9 keys (though those are still included for those cases when you don't want to use a mouse)! This is much better (made a simplistic split by 3rds, though corners should arguably be smaller, need to use it more to see what % is best)
Then the only things remaining are:
(major) convert this into a sequence, so you can trigger, resize/move, click (or shortcut) to exit instead of holding a button all the time. Requires being able to bind any key to a trigger "AnyKey" to cancel a given action
(major) fails for overlapping windows as you can't move to a window's border if it's in the background
So it seems that the only proper way is to ask to add part of the original feature that would allow scripts to actually resize some specific window side (the detection logic for which side exists) instead of simulating buggy mouse pointer clicks
Updated version with JS with a much easier matching than having to enter the same conditions manually in every action
Now it's a single on-key-down action (and reset on key up) instead of a dozen
This also allows maintaining mouse X position when you only need to move vertically (and vice versa)