added an creatnotify event handler
This commit is contained in:
62
client.c
62
client.c
@ -96,6 +96,14 @@ attach(Client *c) {
|
||||
clients = c;
|
||||
}
|
||||
|
||||
void
|
||||
ban(Client *c) {
|
||||
if (c->isbanned)
|
||||
return;
|
||||
XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y);
|
||||
c->isbanned = True;
|
||||
}
|
||||
|
||||
void
|
||||
configure(Client *c) {
|
||||
XConfigureEvent ce;
|
||||
@ -298,6 +306,37 @@ togglefloating(const char *arg) {
|
||||
lt->arrange();
|
||||
}
|
||||
|
||||
void
|
||||
unban(Client *c) {
|
||||
if (!c->isbanned)
|
||||
return;
|
||||
XMoveWindow(dpy, c->win, c->x, c->y);
|
||||
c->isbanned = False;
|
||||
}
|
||||
|
||||
void
|
||||
unmanage(Client *c) {
|
||||
XWindowChanges wc;
|
||||
|
||||
wc.border_width = c->oldborder;
|
||||
/* The server grab construct avoids race conditions. */
|
||||
XGrabServer(dpy);
|
||||
XSetErrorHandler(xerrordummy);
|
||||
XConfigureWindow(dpy, c->win, CWBorderWidth, &wc); /* restore border */
|
||||
detach(c);
|
||||
detachstack(c);
|
||||
if(sel == c)
|
||||
focus(NULL);
|
||||
XUngrabButton(dpy, AnyButton, AnyModifier, c->win);
|
||||
setclientstate(c, WithdrawnState);
|
||||
free(c->tags);
|
||||
free(c);
|
||||
XSync(dpy, False);
|
||||
XSetErrorHandler(xerror);
|
||||
XUngrabServer(dpy);
|
||||
lt->arrange();
|
||||
}
|
||||
|
||||
void
|
||||
updatesizehints(Client *c) {
|
||||
long msize;
|
||||
@ -376,26 +415,3 @@ updatetitle(Client *c) {
|
||||
c->name[sizeof c->name - 1] = '\0';
|
||||
XFree(name.value);
|
||||
}
|
||||
|
||||
void
|
||||
unmanage(Client *c) {
|
||||
XWindowChanges wc;
|
||||
|
||||
wc.border_width = c->oldborder;
|
||||
/* The server grab construct avoids race conditions. */
|
||||
XGrabServer(dpy);
|
||||
XSetErrorHandler(xerrordummy);
|
||||
XConfigureWindow(dpy, c->win, CWBorderWidth, &wc); /* restore border */
|
||||
detach(c);
|
||||
detachstack(c);
|
||||
if(sel == c)
|
||||
focus(NULL);
|
||||
XUngrabButton(dpy, AnyButton, AnyModifier, c->win);
|
||||
setclientstate(c, WithdrawnState);
|
||||
free(c->tags);
|
||||
free(c);
|
||||
XSync(dpy, False);
|
||||
XSetErrorHandler(xerror);
|
||||
XUngrabServer(dpy);
|
||||
lt->arrange();
|
||||
}
|
||||
|
Reference in New Issue
Block a user