Let me dump here some of my ideas
Sorry for my English!I had this flying around in my head since a long time ago. this feature might be called "smart gestures". I might mentioned something like that on the old site.
It's a little hard to describe.
Anyway, as an example, here is a script I've attached to a {MIDDLEBUTTON+WHEEL-UP/WHEEL-DOWN}, It increases/decreases the window size to defined extend:
Code:
//10% size increase (or -0.1 for decreasing)
window_scale(0.1);
function windos_scale(ws_ratio){
wn=sp.LastActiveWindow();
pos=wn.Position;
wn_wh=wn.Rectangle.Height;
wn_ww=wn.Rectangle.Width;
pos.Top = pos.Top - Math.round(wn_wh * ws_ratio);
pos.Bottom = pos.Bottom + Math.round(wn_wh * ws_ratio);
pos.Left = pos.Left - Math.round(wn_ww * ws_ratio);
pos.Right = pos.Right + Math.round(wn_ww * ws_ratio);
wn.Position = pos;
wn.Activate();
}
This works well for me, but i'm sure such actions can be triggered in a more nicer way
Let's assume that we have checked some check box in the gesture settings, let's call it "smart gesture", and the chosen gesture curve is {right-down}.
We draw that {right-down} gesture with the right button over the window we want to change size of. That "smart gesture" option enables the gesture to be triggered before modifier button is released. So at the stage when "right-down" gesture is drawn the script executes and listens to further mouse movement, as long as modifier button is not released (the gesture now has a completely different purpose, the program doesn't try to compare what is drawn to the set of it's saved gestures)
Finally, at some part of the script we can specify that, for example, every 10px change of mouse X position (positive or negative) should trigger some function/hotkey or make some direct linking of some stuff to mouse coords (like
"window.width += mouse.x"). For incremental adjustment actions, like changing the size/width/height of windows, volume adjustments, some imaging stuff like brightness/contrast stuff in photoshop etc this seems to me really handy.
As an option for solid behavior, that "smart gesture" can be used on two-button gestures, so in this case suppose you draw {right-down} gesture with left+right mouse keys and "smart gesture" could be set to activate only after releasing a left key while right key is still pressed.
Another potential application of such gestures might be a dynamic menu system, like when at "smart gesture" stage, the mouse position unfolds menu groups (like "send to" options, "convert format" options, size options etc) and at the release the hovered option is executed. That dynamic menu is an idea too
I'm not sure that this features can be implemented, even theoretically, this is just some of my vague wishes.