diff evilwm-0.99.17.orig/events.c evilwm-von/events.c
98a99,106
> 			case Button3:
>                                 /* get the resize direction */
>                                 c->resize_x = (e->x/(c->width /3)) - 1;
>                                 c->resize_y = (e->y/(c->height/3)) - 1;
>                                 if (c->resize_x != 0 || c->resize_y != 0) {
>                                   resize(c, 0);
>                                   break;
>                                 }
102,103d109
< 				resize(c, 0); break;
< 			case Button3:
diff evilwm-0.99.17.orig/evilwm.h evilwm-von/evilwm.h
121a122,124
> 
>         /* directional resizement */
>         int resize_x, resize_y; /* each has value of -1 through 1 */
diff evilwm-0.99.17.orig/screen.c evilwm-von/screen.c
147a148,156
>         int old_cwidth = c->width;
>         int old_cheight = c->height;
>         int x1, y1;
>         int newx, newy;
>         int xchange, ychange;
> 
>         // determine which edge/corner to resize
>         int dir_x = c->resize_x;
>         int dir_y = c->resize_y;
150a160,161
>         get_mouse_position(&x1, &y1, c->screen->root);
> 
157c168,171
< 	setmouse(c->window, c->width, c->height);
---
> 	//setmouse(c->window, c->width, c->height);
> 
>         fprintf(stderr, "(%d, %d)\n", dir_x, dir_y);
> 
167c181,188
< 				recalculate_sweep(c, old_cx, old_cy, ev.xmotion.x, ev.xmotion.y);
---
>                                 xchange = ev.xmotion.x - x1;
>                                 ychange = ev.xmotion.y - y1;
>                                 newx = old_cx;
>                                 if (dir_x < 0) newx += xchange;
>                                 newy = old_cy;
>                                 if (dir_y < 0) newy += ychange;
> 
> 				recalculate_sweep(c, newx, newy, newx + old_cwidth + (xchange * dir_x), newy + old_cheight + (ychange * dir_y));
331a353
> #ifdef RAISE_MOVE
332a355
> #endif
343a367
> #ifdef RAISE_MOVE
344a369
> #endif
