diff options
author | sabetts <sabetts> | 2001-06-05 09:07:18 +0000 |
---|---|---|
committer | sabetts <sabetts> | 2001-06-05 09:07:18 +0000 |
commit | 622ea708ef80c3044838f32837254c6f74fe793e (patch) | |
tree | 624967ce6f5b866d64a9bcbfab888ceb160d63ba /src | |
parent | b491c9ed23c5f1345914d0ffb2cbaea9662d1d61 (diff) | |
download | ratpoison-622ea708ef80c3044838f32837254c6f74fe793e.zip |
* src/manage.c (hide_window): ignore only StructureNotify events.
* src/data.h (WIN_EVENTS): Add StructureNotifyMask.
* src/events.c (unmap_notify): ignore SubstructureNotify unmaps.
Diffstat (limited to 'src')
-rw-r--r-- | src/data.h | 2 | ||||
-rw-r--r-- | src/events.c | 4 | ||||
-rw-r--r-- | src/manage.c | 3 |
3 files changed, 6 insertions, 3 deletions
@@ -28,7 +28,7 @@ #define FONT_HEIGHT(f) ((f)->max_bounds.ascent + (f)->max_bounds.descent) -#define WIN_EVENTS (PropertyChangeMask | ColormapChangeMask | FocusChangeMask) +#define WIN_EVENTS (StructureNotifyMask | PropertyChangeMask | ColormapChangeMask | FocusChangeMask) typedef struct rp_window rp_window; typedef struct screen_info screen_info; diff --git a/src/events.c b/src/events.c index 824b98e..ac9d006 100644 --- a/src/events.c +++ b/src/events.c @@ -91,6 +91,10 @@ unmap_notify (XEvent *ev) screen_info *s; rp_window *win; + /* ignore SubstructureNotify unmaps. */ + if(ev->xunmap.event != ev->xunmap.window + && ev->xunmap.send_event != True) return; + s = find_screen (ev->xunmap.event); /* FIXME: Should we only look in the mapped window list? */ diff --git a/src/manage.c b/src/manage.c index 8a7effc..030693c 100644 --- a/src/manage.c +++ b/src/manage.c @@ -501,8 +501,7 @@ hide_window (rp_window *win) if (win == NULL) return; /* Ignore the unmap_notify event. */ - XSelectInput(dpy, win->w, - WIN_EVENTS&~(StructureNotifyMask|EnterWindowMask)); + XSelectInput(dpy, win->w, WIN_EVENTS&~(StructureNotifyMask)); XUnmapWindow (dpy, win->w); XSelectInput (dpy, win->w, WIN_EVENTS); set_state (win, IconicState); |