aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kanakarakis <ivan.kanak@gmail.com>2012-08-23 23:09:47 +0300
committerIvan Kanakarakis <ivan.kanak@gmail.com>2012-09-20 13:03:11 +0300
commit6dc8e6e3e4ec51644f7d54830ba817277ad321aa (patch)
treeac7156fd93552b5b69e4e95e01512a43f9f60003
parentcf4fb22ceb764d96326d9aae2b4f8c69254c2f53 (diff)
fix for misbehaving apps - tile on configure request
-rw-r--r--monsterwm.c8
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);
}
/**