コード例 #1
0
ファイル: rotatemons.c プロジェクト: tinoucas/dwm-tinou
void
changemon(Client *c, Monitor *m) {
	if(c->mon == m)
		return;
	detach(c);
	detachstack(c);
	c->mon = m;
	attach(c);
	attachstack(c);
}
コード例 #2
0
ファイル: client.c プロジェクト: csimons/cswm
void
unmanage(Client *c) {
    Client *nc;

    /* The server grab construct avoids race conditions. */
    XGrabServer(dpy);
    XSetErrorHandler(xerrordummy);
    detachstack(c);
    detachclient(c);
    if(sel == c) {
        for(nc = stack; nc && (nc->view != view); nc = nc->snext);
        focus(nc);
    }
    XUngrabButton(dpy, AnyButton, AnyModifier, c->win);
    setclientstate(c, WithdrawnState);
    free(c);
    XSync(dpy, False);
    XSetErrorHandler(xerror);
    XUngrabServer(dpy);
    arrange();
}
コード例 #3
0
ファイル: client.c プロジェクト: csimons/cswm
void
focus(Client *c) {
    if(c && c->view != view)
        return;
    if(sel && sel != c) {
        XSetWindowBorder(dpy, sel->win, normcol);
    }
    if(c) {
        detachstack(c);
        c->snext = stack;
        stack = c;
    }
    sel = c;
    if(!selscreen)
        return;
    if(c) {
        XSetWindowBorder(dpy, c->win, selcol);
        XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime);
    }
    else
        XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
}