From 32225be2681628059e6e11d3c80a10194a0cbc16 Mon Sep 17 00:00:00 2001 From: sabetts Date: Tue, 17 Oct 2000 10:28:00 +0000 Subject: emacs now maximizes properly rxvt seems to too, but more testing will be needed. --- src/ChangeLog | 3 +++ 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 + * 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"); } } -- cgit v1.2.3