diff options
author | rsc <devnull@localhost> | 2004-08-13 13:57:58 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2004-08-13 13:57:58 +0000 |
commit | 2c1b986edff846e76c1ae7b04a23807055293366 (patch) | |
tree | 3ca122ef2c1274a669141ac1e8b5e6b4265d2a69 /src/cmd/rio/event.c | |
parent | 2fc26be665bc4b3fb27187ccb326f6a28bd6b9c7 (diff) | |
download | plan9port-2c1b986edff846e76c1ae7b04a23807055293366.tar.gz plan9port-2c1b986edff846e76c1ae7b04a23807055293366.tar.bz2 plan9port-2c1b986edff846e76c1ae7b04a23807055293366.zip |
better mask handling, don't raise windows quite so eagerly.
Diffstat (limited to 'src/cmd/rio/event.c')
-rw-r--r-- | src/cmd/rio/event.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/cmd/rio/event.c b/src/cmd/rio/event.c index af405c02..39aff18a 100644 --- a/src/cmd/rio/event.c +++ b/src/cmd/rio/event.c @@ -130,12 +130,6 @@ configurereq(XConfigureRequestEvent *e) if (e->value_mask & CWBorderWidth) c->border = e->border_width; gravitate(c, 0); - if (e->value_mask & CWStackMode) { - if (e->detail == Above) - top(c); - else - e->value_mask &= ~CWStackMode; - } if (c->parent != c->screen->root && c->window == e->window) { wc.x = c->x-BORDER; wc.y = c->y-BORDER; @@ -146,8 +140,13 @@ configurereq(XConfigureRequestEvent *e) wc.stack_mode = e->detail; XConfigureWindow(dpy, c->parent, e->value_mask, &wc); sendconfig(c); - top(c); - active(c); + } + if (e->value_mask & CWStackMode) { + if (wc.stack_mode == Above) { + top(c); + active(c); + }else + e->value_mask &= ~CWStackMode; } } |