GrabModeAsync, GrabModeSync, None, None);
}
-static void
-resizetitle(Client *c) {
- c->tw = textw(c->name);
- if(c->tw > c->w)
- c->tw = c->w + 2;
- c->tx = c->x + c->w - c->tw + 2;
- c->ty = c->y;
- if(isvisible(c))
- XMoveResizeWindow(dpy, c->twin, c->tx, c->ty, c->tw, c->th);
- else
- XMoveResizeWindow(dpy, c->twin, c->tx + 2 * sw, c->ty, c->tw, c->th);
-}
-
static int
xerrordummy(Display *dsply, XErrorEvent *ee) {
return 0;
XMoveWindow(dpy, c->twin, c->tx + 2 * sw, c->ty);
}
+void
+configure(Client *c) {
+ XEvent synev;
+
+ synev.type = ConfigureNotify;
+ synev.xconfigure.display = dpy;
+ synev.xconfigure.event = c->win;
+ synev.xconfigure.window = c->win;
+ synev.xconfigure.x = c->x;
+ synev.xconfigure.y = c->y;
+ synev.xconfigure.width = c->w;
+ synev.xconfigure.height = c->h;
+ synev.xconfigure.border_width = c->border;
+ synev.xconfigure.above = None;
+ XSendEvent(dpy, c->win, True, NoEventMask, &synev);
+}
+
void
focus(Client *c) {
Client *old;
c->w = c->tw = wa->width;
c->h = wa->height;
c->th = bh;
- c->rx = sx;
- c->ry = bh;
- c->rw = sw;
- c->rh = sh - bh;
c->border = 0;
updatesize(c);
CWOverrideRedirect | CWBackPixmap | CWEventMask, &twa);
grabbuttons(c, False);
+ updatetitle(c);
settags(c, getclient(trans));
if(!c->isfloat)
c->isfloat = trans
|| (c->maxw && c->minw &&
c->maxw == c->minw && c->maxh == c->minh);
+ resizetitle(c);
if(clients)
clients->prev = c;
c->snext = stack;
stack = clients = c;
- updatetitle(c);
ban(c);
XMapWindow(dpy, c->win);
XMapWindow(dpy, c->twin);
else
wc.border_width = 1;
XConfigureWindow(dpy, c->win, CWX | CWY | CWWidth | CWHeight | CWBorderWidth, &wc);
+ configure(c);
XSync(dpy, False);
}
+void
+resizetitle(Client *c) {
+ c->tw = textw(c->name);
+ if(c->tw > c->w)
+ c->tw = c->w + 2;
+ c->tx = c->x + c->w - c->tw + 2;
+ c->ty = c->y;
+ if(isvisible(c))
+ XMoveResizeWindow(dpy, c->twin, c->tx, c->ty, c->tw, c->th);
+ else
+ XMoveResizeWindow(dpy, c->twin, c->tx + 2 * sw, c->ty, c->tw, c->th);
+}
+
void
updatesize(Client *c) {
long msize;
}
}
XFree(name.value);
- resizetitle(c);
}
void