aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/rio/event.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2004-04-24 04:52:49 +0000
committerrsc <devnull@localhost>2004-04-24 04:52:49 +0000
commit78802e6993a0f44d7ac7ff7d0922d55d1b089dac (patch)
tree2131829fda5ff9ee9f8ef8c88695c361cc4ba335 /src/cmd/rio/event.c
parent272fd660b41d7ec793bc9d8972878510f3b66055 (diff)
downloadplan9port-78802e6993a0f44d7ac7ff7d0922d55d1b089dac.tar.gz
plan9port-78802e6993a0f44d7ac7ff7d0922d55d1b089dac.tar.bz2
plan9port-78802e6993a0f44d7ac7ff7d0922d55d1b089dac.zip
various bug fixes
Diffstat (limited to 'src/cmd/rio/event.c')
-rw-r--r--src/cmd/rio/event.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/cmd/rio/event.c b/src/cmd/rio/event.c
index ff053776..a14c4acc 100644
--- a/src/cmd/rio/event.c
+++ b/src/cmd/rio/event.c
@@ -352,6 +352,7 @@ property(XPropertyEvent *e)
Atom a;
int delete;
Client *c;
+ long msize;
/* we don't set curtime as nothing here uses it */
a = e->atom;
@@ -378,6 +379,15 @@ property(XPropertyEvent *e)
case XA_WM_TRANSIENT_FOR:
gettrans(c);
return;
+ case XA_WM_HINTS:
+ case XA_WM_SIZE_HINTS:
+ case XA_WM_ZOOM_HINTS:
+ /* placeholders to not forget. ignore for now. -Axel */
+ return;
+ case XA_WM_NORMAL_HINTS:
+ if (XGetWMNormalHints(dpy, c->window, &c->size, &msize) == 0 || c->size.flags == 0)
+ c->size.flags = PSize; /* not specified - punt */
+ return;
}
if (a == _rio_hold_mode) {
c->hold = getiprop(c->window, _rio_hold_mode);
@@ -404,7 +414,12 @@ reparent(XReparentEvent *e)
if ((s = getscreen(e->parent)) != 0) {
c = getclient(e->window, 1);
if (c != 0 && (c->dx == 0 || c->dy == 0)) {
+ /* flush any errors */
+ ignore_badwindow = 1;
XGetWindowAttributes(dpy, c->window, &attr);
+ XSync(dpy, False);
+ ignore_badwindow = 0;
+
c->x = attr.x;
c->y = attr.y;
c->dx = attr.width;