/* Global data */
static win_t *root;
+static win_t *last;
static int running;
static void *cache;
static Atom atoms[NATOMS];
static void win_free(win_t *win)
{
+ if (win == last)
+ last = NULL;
free(win->sys);
free(win);
}
printf("configure_req: %lx - (0x%lx) %dx%d @ %d,%d\n",
cre->window, cre->value_mask,
cre->height, cre->width, cre->x, cre->y);
- if ((win = win_find(dpy,xe->xconfigurerequest.window,1))) {
+ if ((win = win_find(dpy,cre->window,1))) {
XSendEvent(dpy, cre->window, False, StructureNotifyMask, &(XEvent){
.xconfigure.type = ConfigureNotify,
.xconfigure.display = win->sys->dpy,
//win_msg(win, WM_FOCUS);
/* Set border on focused window */
- static win_t *last = NULL;
if (last)
XSetWindowBorder(last->sys->dpy, last->sys->xid, colors[CLR_UNFOCUS]);
XSync(win->sys->dpy, False);
.width = screen->w + screen->sys->strut.left + screen->sys->strut.right,
.height = screen->h + screen->sys->strut.top + screen->sys->strut.bottom
};
+ win->x = wc.x; win->y = wc.y;
+ win->w = wc.width; win->h = wc.height;
XConfigureWindow(win->sys->dpy, win->sys->xid, CWX|CWY|CWWidth|CWHeight, &wc);
XMoveResizeWindow(win->sys->dpy, win->sys->xid, wc.x, wc.y, wc.width, wc.height);
} else if (state == ST_SHADE) {