Limit mouse resize to hints within the client; matches kbd resize

behaviour.
This commit is contained in:
okan 2016-09-13 13:42:28 +00:00
parent 466ceeb29f
commit 6937dedc0d

View File

@ -16,7 +16,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* $OpenBSD: mousefunc.c,v 1.103 2015/11/17 14:31:28 okan Exp $
* $OpenBSD: mousefunc.c,v 1.104 2016/09/13 13:42:28 okan Exp $
*/
#include <sys/types.h>
@ -57,7 +57,6 @@ mousefunc_client_resize(struct client_ctx *cc, union arg *arg)
XEvent ev;
Time ltime = 0;
struct screen_ctx *sc = cc->sc;
int x = cc->geom.x, y = cc->geom.y;
if (cc->flags & CLIENT_FREEZE)
return;
@ -81,12 +80,8 @@ mousefunc_client_resize(struct client_ctx *cc, union arg *arg)
continue;
ltime = ev.xmotion.time;
cc->geom.w = abs(x - ev.xmotion.x_root) - cc->bwidth;
cc->geom.h = abs(y - ev.xmotion.y_root) - cc->bwidth;
cc->geom.x = (x <= ev.xmotion.x_root) ?
x : x - cc->geom.w;
cc->geom.y = (y <= ev.xmotion.y_root) ?
y : y - cc->geom.h;
cc->geom.w = ev.xmotion.x;
cc->geom.h = ev.xmotion.y;
client_applysizehints(cc);
client_resize(cc, 1);
mousefunc_sweep_draw(cc);