summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/mouse/mouse.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/plugins/mouse/mouse.c b/plugins/mouse/mouse.c
index 0b2471ee..1ef0ee87 100644
--- a/plugins/mouse/mouse.c
+++ b/plugins/mouse/mouse.c
@@ -208,8 +208,15 @@ static void event(ObEvent *e, void *foo)
if (e->data.x.client != NULL) {
cx = e->data.x.client->frame->area.x;
cy = e->data.x.client->frame->area.y;
- cw = e->data.x.client->frame->area.width;
- ch = e->data.x.client->frame->area.height;
+ /* use the client size because the frame can be differently
+ sized (shaded windows) and we want this based on the clients
+ size */
+ cw = e->data.x.client->area.width +
+ e->data.x.client->frame->size.left +
+ e->data.x.client->frame->size.right;
+ ch = e->data.x.client->area.height +
+ e->data.x.client->frame->size.top +
+ e->data.x.client->frame->size.bottom;
px = e->data.x.e->xbutton.x_root;
py = e->data.x.e->xbutton.y_root;
corner = pick_corner(px, py, cx, cy, cw, ch);