aboutsummaryrefslogtreecommitdiffstats
path: root/client.c
diff options
context:
space:
mode:
authorAnselm R. Garbe <arg@suckless.org>2007-06-04 11:50:48 +0200
committerAnselm R. Garbe <arg@suckless.org>2007-06-04 11:50:48 +0200
commit83aa110c6fabbf5f5a14b698a6ca22072cb80629 (patch)
treec79a56f48a11a72a551cf3a9a628362579d11095 /client.c
parent5a1a2edf0e584e660e16d2e01094851e0f9161e2 (diff)
downloaddwm-83aa110c6fabbf5f5a14b698a6ca22072cb80629.tar.zst
added an creatnotify event handler
Diffstat (limited to 'client.c')
-rw-r--r--client.c62
1 files changed, 39 insertions, 23 deletions
diff --git a/client.c b/client.c
index 06bc9d8..68d10a7 100644
--- a/client.c
+++ b/client.c
@@ -97,6 +97,14 @@ attach(Client *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;
@@ -299,6 +307,37 @@ togglefloating(const char *arg) {
}
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;
XSizeHints size;
@@ -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();
-}