mirror of
https://github.com/mintycube/dwm.git
synced 2024-10-22 12:05:45 +00:00
warp: do not warp if force_warp = 1 and mouse cursor is on a bar
This commit is contained in:
parent
56c81ddbfa
commit
b25b92b5f4
35
patch/warp.c
35
patch/warp.c
@ -13,24 +13,25 @@ warp(const Client *c)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!force_warp) {
|
if (!getrootptr(&x, &y))
|
||||||
if (!getrootptr(&x, &y) ||
|
return;
|
||||||
(x > c->x - c->bw &&
|
|
||||||
y > c->y - c->bw &&
|
|
||||||
x < c->x + c->w + c->bw*2 &&
|
|
||||||
y < c->y + c->h + c->bw*2)
|
|
||||||
)
|
|
||||||
return;
|
|
||||||
|
|
||||||
for (m = mons; m; m = m->next)
|
if (!force_warp &&
|
||||||
for (bar = m->bar; bar; bar = bar->next)
|
(x > c->x - c->bw &&
|
||||||
if (x > bar->bx &&
|
y > c->y - c->bw &&
|
||||||
x < bar->bx + bar->bw &&
|
x < c->x + c->w + c->bw*2 &&
|
||||||
y > bar->by &&
|
y < c->y + c->h + c->bw*2))
|
||||||
y < bar->by + bar->bh)
|
return;
|
||||||
return;
|
|
||||||
} else
|
force_warp = 0;
|
||||||
force_warp = 0;
|
|
||||||
|
for (m = mons; m; m = m->next)
|
||||||
|
for (bar = m->bar; bar; bar = bar->next)
|
||||||
|
if (x > bar->bx &&
|
||||||
|
x < bar->bx + bar->bw &&
|
||||||
|
y > bar->by &&
|
||||||
|
y < bar->by + bar->bh)
|
||||||
|
return;
|
||||||
|
|
||||||
XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w / 2, c->h / 2);
|
XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w / 2, c->h / 2);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user