diff options
-rw-r--r-- | src/ChangeLog | 3 | ||||
-rw-r--r-- | src/events.c | 20 |
2 files changed, 21 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index ab37eac..7e56cc4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2000-10-17 shawn <sabetts@vcn.bc.ca> + * events.c (configure_request): resize windows to the max-1. Call + XConfigureWindow as well as XSendEvent. + * manage.c (scanwins): Now only maps visible windows * conf.h: Removed keystroke related defines diff --git a/src/events.c b/src/events.c index d7a2c1d..b46be25 100644 --- a/src/events.c +++ b/src/events.c @@ -168,6 +168,7 @@ destroy_window (XDestroyWindowEvent *ev) void configure_request (XConfigureRequestEvent *e) { + XWindowChanges wc; XConfigureEvent ce; rp_window *win; @@ -175,13 +176,21 @@ configure_request (XConfigureRequestEvent *e) if (win) { + PRINT_DEBUG ("window req: %d %d %d %d %d\n", e->x, e->y, e->width, e->height, e->border_width); + + wc.x = 0; + wc.y = 0; + wc.width = win->scr->root_attr.width - 1; + wc.height = win->scr->root_attr.height - 1; + wc.border_width = 0; + ce.type = ConfigureNotify; ce.event = e->window; ce.window = e->window; ce.x = 0; ce.y = 0; - ce.width = win->scr->root_attr.width; - ce.height = win->scr->root_attr.height; + ce.width = win->scr->root_attr.width - 1; + ce.height = win->scr->root_attr.height - 1; ce.border_width = 0; ce.above = None; ce.override_redirect = 0; @@ -200,6 +209,13 @@ configure_request (XConfigureRequestEvent *e) } XSendEvent(dpy, win->w, False, StructureNotifyMask, (XEvent*)&ce); + XConfigureWindow (dpy, win->w, + CWX | CWY | CWWidth | CWHeight | CWBorderWidth, + &wc); + } + else + { + PRINT_DEBUG ("FIXME: Don't handle this\n"); } } |