commit 49c95a808ab778eda0d82fe883c82f48aff9271d
parent f9e2188ccb62e44638f43faa4e1942f2c6c92ea2
Author: garbeam <garbeam@mmv.wmii.de>
Date: Thu, 15 Dec 2005 03:08:26 +0200
fixed wrong configurereq handling caused by missing SubstructureRedirectMask on frames
Diffstat:
6 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/cmd/wm/client.c b/cmd/wm/client.c
@@ -113,6 +113,7 @@ void configure_client(Client * c)
XSelectInput(dpy, c->win, CLIENT_MASK & ~StructureNotifyMask);
XSendEvent(dpy, c->win, False, StructureNotifyMask, (XEvent *) & e);
XSelectInput(dpy, c->win, CLIENT_MASK);
+ XSync(dpy, False);
}
void close_client(Client * c)
diff --git a/cmd/wm/event.c b/cmd/wm/event.c
@@ -175,7 +175,7 @@ static void handle_configurerequest(XEvent * e)
XConfigureWindow(dpy, e->xconfigurerequest.window, ev->value_mask, &wc);
XSync(dpy, False);
- /* fprintf(stderr, "%d,%d,%d,%d\n", wc.x, wc.y, wc.width, wc.height); */
+ fprintf(stderr, "%d,%d,%d,%d\n", wc.x, wc.y, wc.width, wc.height);
}
static void handle_destroynotify(XEvent * e)
diff --git a/cmd/wm/frame.c b/cmd/wm/frame.c
@@ -80,7 +80,7 @@ Frame *alloc_frame(XRectangle * r)
wa.override_redirect = 1;
wa.background_pixmap = ParentRelative;
- wa.event_mask = ExposureMask | ButtonPressMask | ButtonReleaseMask | PointerMotionMask;
+ wa.event_mask = SubstructureRedirectMask | ExposureMask | ButtonPressMask | PointerMotionMask;
bw = border_width(f);
th = tab_height(f);
diff --git a/cmd/wm/layout_float.c b/cmd/wm/layout_float.c
@@ -116,7 +116,7 @@ static void select_float(Frame *f, Bool raise)
XRaiseWindow(dpy, f->win);
center_pointer(f);
}
- if (old != f)
+ if (old && old != f)
draw_frame(old);
draw_frame(f);
}
diff --git a/cmd/wm/wm.c b/cmd/wm/wm.c
@@ -429,6 +429,9 @@ static void _destroy_page(void *obj, char *arg)
Page *p = get_sel_page();
if (p)
destroy_page(p);
+ p = get_sel_page();
+ if (p)
+ sel_page(p);
}
static void new_page(void *obj, char *arg)
diff --git a/cmd/wm/wm.h b/cmd/wm/wm.h
@@ -95,7 +95,7 @@ enum {
#define LAYOUT "column"
#define GAP 5
-#define ROOT_MASK (SubstructureRedirectMask | SubstructureNotifyMask | ButtonPressMask | ButtonReleaseMask)
+#define ROOT_MASK SubstructureRedirectMask
#define CLIENT_MASK (StructureNotifyMask | PropertyChangeMask | EnterWindowMask)
typedef struct Page Page;