Xinqi Bao's Git
projects
/
dwm.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
reapplied my default keybindings
[dwm.git]
/
event.c
diff --git
a/event.c
b/event.c
index
db95dfd
..
e4dfad1
100644
(file)
--- a/
event.c
+++ b/
event.c
@@
-79,7
+79,7
@@
movemouse(Client *c)
XSync(dpy, False);
*c->x = ocx + (ev.xmotion.x - x1);
*c->y = ocy + (ev.xmotion.y - y1);
XSync(dpy, False);
*c->x = ocx + (ev.xmotion.x - x1);
*c->y = ocy + (ev.xmotion.y - y1);
- resize(c, False);
+ resize(c, False
, TopLeft
);
break;
case ButtonRelease:
XUngrabPointer(dpy, CurrentTime);
break;
case ButtonRelease:
XUngrabPointer(dpy, CurrentTime);
@@
-93,6
+93,7
@@
resizemouse(Client *c)
{
XEvent ev;
int ocx, ocy;
{
XEvent ev;
int ocx, ocy;
+ Corner sticky;
ocx = *c->x;
ocy = *c->y;
ocx = *c->x;
ocy = *c->y;
@@
-113,7
+114,11
@@
resizemouse(Client *c)
*c->h = abs(ocy - ev.xmotion.y);
*c->x = (ocx <= ev.xmotion.x) ? ocx : ocx - *c->w;
*c->y = (ocy <= ev.xmotion.y) ? ocy : ocy - *c->h;
*c->h = abs(ocy - ev.xmotion.y);
*c->x = (ocx <= ev.xmotion.x) ? ocx : ocx - *c->w;
*c->y = (ocy <= ev.xmotion.y) ? ocy : ocy - *c->h;
- resize(c, True);
+ if(ocx <= ev.xmotion.x)
+ sticky = (ocy <= ev.xmotion.y) ? TopLeft : BotLeft;
+ else
+ sticky = (ocy <= ev.xmotion.y) ? TopRight : BotRight;
+ resize(c, True, sticky);
break;
case ButtonRelease:
XUngrabPointer(dpy, CurrentTime);
break;
case ButtonRelease:
XUngrabPointer(dpy, CurrentTime);
@@
-153,24
+158,27
@@
buttonpress(XEvent *e)
}
}
else if((c = getclient(ev->window))) {
}
}
else if((c = getclient(ev->window))) {
- if(arrange == dotile && !c->isfloat) {
- if((ev->state & ControlMask) && (ev->button == Button1))
- zoom(NULL);
- return;
- }
- /* floating windows */
- higher(c);
switch(ev->button) {
default:
break;
case Button1:
switch(ev->button) {
default:
break;
case Button1:
- movemouse(c);
+ if(arrange == dotile && !c->isfloat) {
+ if((ev->state & ControlMask) && (ev->button == Button1))
+ zoom(NULL);
+ }
+ else {
+ higher(c);
+ movemouse(c);
+ }
break;
case Button2:
lower(c);
break;
case Button3:
break;
case Button2:
lower(c);
break;
case Button3:
- resizemouse(c);
+ if(arrange == dofloat || c->isfloat) {
+ higher(c);
+ resizemouse(c);
+ }
break;
}
}
break;
}
}
@@
-197,7
+205,7
@@
configurerequest(XEvent *e)
if(ev->value_mask & CWBorderWidth)
c->border = 1;
gravitate(c, False);
if(ev->value_mask & CWBorderWidth)
c->border = 1;
gravitate(c, False);
- resize(c, True);
+ resize(c, True
, TopLeft
);
}
wc.x = ev->x;
}
wc.x = ev->x;