added an creatnotify event handler

This commit is contained in:
Anselm R. Garbe
2007-06-04 11:50:48 +02:00
parent 5a1a2edf0e
commit 83aa110c6f
4 changed files with 56 additions and 40 deletions

@ -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();
}