spot bug in window_client
This commit is contained in:
13
cerberus.c
13
cerberus.c
@@ -176,11 +176,16 @@ client* window_client(Window win)
|
|||||||
c->attr.x, c->attr.y, c->attr.width, c->attr.height))
|
c->attr.x, c->attr.y, c->attr.width, c->attr.height))
|
||||||
{ c->monitor = i; break; }
|
{ c->monitor = i; break; }
|
||||||
|
|
||||||
monitor *m = &monitors[c->monitor];
|
int x, y, w, h;
|
||||||
|
c->spot = SPOT1;
|
||||||
|
|
||||||
c->spot = c->attr.x > m->x + m->w/2
|
spot_xywh(SPOT2, c->monitor, &x, &y, &w, &h);
|
||||||
? (c->attr.y > m->y + m->h/2 ? SPOT3: SPOT2)
|
if (INTERSECT(x, y, w, h, c->attr.x + c->attr.width/2, c->attr.y+c->attr.height/2, 1, 1))
|
||||||
: SPOT1;
|
c->spot = SPOT2;
|
||||||
|
|
||||||
|
spot_xywh(SPOT3, c->monitor, &x, &y, &w, &h);
|
||||||
|
if (INTERSECT(x, y, w, h, c->attr.x + c->attr.width/2, c->attr.y+c->attr.height/2, 1, 1))
|
||||||
|
c->spot = SPOT3;
|
||||||
|
|
||||||
window_get_atom_prop(c->window, atoms[_NET_WM_STATE], c->states, MAX_NET_WM_STATES);
|
window_get_atom_prop(c->window, atoms[_NET_WM_STATE], c->states, MAX_NET_WM_STATES);
|
||||||
c->urgent = client_state(c, atoms[_NET_WM_STATE_DEMANDS_ATTENTION]);
|
c->urgent = client_state(c, atoms[_NET_WM_STATE_DEMANDS_ATTENTION]);
|
||||||
|
|||||||
Reference in New Issue
Block a user