|
|
- void
- moveplace(const Arg *arg)
- {
- Client *c;
- int nh, nw, nx, ny;
- c = selmon->sel;
- if (!c || (arg->ui >= 9))
- return;
- if (selmon->lt[selmon->sellt]->arrange && !c->isfloating)
- togglefloating(NULL);
- nh = (selmon->wh / 3) - (c->bw * 2);
- nw = (selmon->ww / 3) - (c->bw * 2);
- nx = (arg->ui % 3) -1;
- ny = (arg->ui / 3) -1;
- if (nx < 0)
- nx = selmon->wx;
- else if (nx > 0)
- nx = selmon->wx + selmon->ww - nw - c->bw*2;
- else
- nx = selmon->wx + selmon->ww/2 - nw/2 - c->bw;
- if (ny <0)
- ny = selmon->wy;
- else if (ny > 0)
- ny = selmon->wy + selmon->wh - nh - c->bw*2;
- else
- ny = selmon->wy + selmon->wh/2 - nh/2 - c->bw;
- resize(c, nx, ny, nw, nh, True);
- XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, nw/2, nh/2);
- }
|