diff options
| author | Ivan Kanakarakis <ivan.kanak@gmail.com> | 2012-08-23 23:09:47 +0300 |
|---|---|---|
| committer | Ivan Kanakarakis <ivan.kanak@gmail.com> | 2012-09-20 13:03:11 +0300 |
| commit | 6dc8e6e3e4ec51644f7d54830ba817277ad321aa (patch) | |
| tree | ac7156fd93552b5b69e4e95e01512a43f9f60003 | |
| parent | cf4fb22ceb764d96326d9aae2b4f8c69254c2f53 (diff) | |
fix for misbehaving apps - tile on configure request
| -rw-r--r-- | monsterwm.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/monsterwm.c b/monsterwm.c index 8e99fc4..0c68845 100644 --- a/monsterwm.c +++ b/monsterwm.c @@ -362,16 +362,16 @@ void clientmessage(XEvent *e) { * some windows implement window manager functions themselves. * that is windows explicitly steal focus, or manage subwindows, * or move windows around w/o the window manager's help, etc.. - * to disallow this behavior, one should 'tile()' the desktop - * from which the configure request came from. - * however we skip this, and let such apps (ie Chromium) do their thing. - * to reset the window just retile the desktop. + * to disallow this behavior, we 'tile()' the desktop to which + * the window that sent the configure request belongs. */ void configurerequest(XEvent *e) { XConfigureRequestEvent *ev = &e->xconfigurerequest; XWindowChanges wc = { ev->x, ev->y, ev->width, ev->height, ev->border_width, ev->above, ev->detail }; XConfigureWindow(dis, ev->window, ev->value_mask, &wc); XSync(dis, False); + Desktop *d = NULL; Client *c = NULL; + if (wintoclient(ev->window, &c, &d)) tile(d); } /** |
