summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Cardell Widerkrantz <mc@hack.org>2011-06-04 11:44:18 +0200
committerMichael Cardell Widerkrantz <mc@hack.org>2011-06-04 11:44:18 +0200
commit851e69a1ae038270ed843d83b55392821f360967 (patch)
tree145c0469b107cc4763afdeec5167cff24bac740f
parent515b37224ae262afbad12d1f9f88bfc9d81bcabe (diff)
downloadmcwm-851e69a1ae038270ed843d83b55392821f360967.zip
When we get a ConfigureRequest for coords or size we need to update
the client.
-rw-r--r--mcwm.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/mcwm.c b/mcwm.c
index ea035df..7282514 100644
--- a/mcwm.c
+++ b/mcwm.c
@@ -3618,9 +3618,18 @@ void events(void)
uint32_t mask = 0;
uint32_t values[7];
int i = -1;
+ struct client *client;
PDEBUG("event: Configure request. mask = %d\n", e->value_mask);
+ /* Find the client. */
+ client = findclient(e->window);
+ if (NULL == client)
+ {
+ /* Sorry, but we don't know about this window. */
+ break;
+ }
+
/*
* We ignore border width configurations, but handle all
* others.
@@ -3632,6 +3641,7 @@ void events(void)
mask |= XCB_CONFIG_WINDOW_X;
i ++;
values[i] = e->x;
+ client->x = e->x;
}
if (e->value_mask & XCB_CONFIG_WINDOW_Y)
@@ -3640,6 +3650,7 @@ void events(void)
mask |= XCB_CONFIG_WINDOW_Y;
i ++;
values[i] = e->y;
+ client->y = e->y;
}
if (e->value_mask & XCB_CONFIG_WINDOW_WIDTH)
@@ -3648,6 +3659,7 @@ void events(void)
mask |= XCB_CONFIG_WINDOW_WIDTH;
i ++;
values[i] = e->width;
+ client->width = e->width;
}
if (e->value_mask & XCB_CONFIG_WINDOW_HEIGHT)
@@ -3656,6 +3668,7 @@ void events(void)
mask |= XCB_CONFIG_WINDOW_HEIGHT;
i ++;
values[i] = e->height;
+ client->height = e->height;
}
if (e->value_mask & XCB_CONFIG_WINDOW_SIBLING)