Xinqi Bao's Git
projects
/
dwm.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
configurenotify remembers max geom now, and restores this if necessary, however it...
[dwm.git]
/
event.c
diff --git
a/event.c
b/event.c
index
3c83aa8
..
0f74478
100644
(file)
--- a/
event.c
+++ b/
event.c
@@
-116,12
+116,14
@@
buttonpress(XEvent *e)
return;
}
}
return;
}
}
- if(ev->x < x + bmw)
- togglemode(NULL);
+ if(ev->x < x + bmw) {
+ if(ev->button == Button1)
+ togglemode(NULL);
+ }
}
else if((c = getclient(ev->window))) {
focus(c);
}
else if((c = getclient(ev->window))) {
focus(c);
- if(CLEANMASK(ev->state)
== 0
)
+ if(CLEANMASK(ev->state)
!= MODKEY
)
return;
switch(ev->button) {
default:
return;
switch(ev->button) {
default:
@@
-148,6
+150,7
@@
buttonpress(XEvent *e)
static void
configurerequest(XEvent *e)
{
static void
configurerequest(XEvent *e)
{
+ int ox, oy, ow, oh;
unsigned long newmask;
Client *c;
XConfigureRequestEvent *ev = &e->xconfigurerequest;
unsigned long newmask;
Client *c;
XConfigureRequestEvent *ev = &e->xconfigurerequest;
@@
-155,6
+158,10
@@
configurerequest(XEvent *e)
XWindowChanges wc;
if((c = getclient(ev->window))) {
XWindowChanges wc;
if((c = getclient(ev->window))) {
+ ox = c->x;
+ oy = c->y;
+ ow = c->w;
+ oh = c->h;
gravitate(c, True);
if(ev->value_mask & CWX)
c->x = ev->x;
gravitate(c, True);
if(ev->value_mask & CWX)
c->x = ev->x;
@@
-189,8
+196,13
@@
configurerequest(XEvent *e)
XSendEvent(dpy, c->win, True, NoEventMask, &synev);
}
XSync(dpy, False);
XSendEvent(dpy, c->win, True, NoEventMask, &synev);
}
XSync(dpy, False);
- if(c->isfloat
)
+ if(c->isfloat
|| c->ismax) {
resize(c, False, TopLeft);
resize(c, False, TopLeft);
+ c->x = ox;
+ c->y = oy;
+ c->w = ow;
+ c->h = oh;
+ }
else
arrange(NULL);
}
else
arrange(NULL);
}