if (status != Success || ret_size != 32 || ret_items != 4)
return 0;
- win->sys->strut.left = ((int*)xdata)[0];
- win->sys->strut.right = ((int*)xdata)[1];
- win->sys->strut.top = ((int*)xdata)[2];
- win->sys->strut.bottom = ((int*)xdata)[3];
+ win->sys->strut.left = ((long*)xdata)[0];
+ win->sys->strut.right = ((long*)xdata)[1];
+ win->sys->strut.top = ((long*)xdata)[2];
+ win->sys->strut.bottom = ((long*)xdata)[3];
struts = list_insert(struts, win);
for (list_t *cur = screens; cur; cur = cur->next)
strut_copy(cur->data, win, 1);
printf("map_req: %d\n", type);
if ((win = win_find(dpy,xe->xmaprequest.window,1)) &&
win->state == ST_HIDE) {
+ win->state = ST_SHOW;
if (win_prop(win, NET_STATE) == atoms[NET_FULL])
win->state = ST_FULL;
XSelectInput(win->sys->dpy, win->sys->xid, PropertyChangeMask);
wm_insert(win);
else
wm_update();
- } else
- sys_show(win, ST_SHOW);
+ }
+ sys_show(win, win->state);
}
else if (type == ClientMessage) {
XClientMessageEvent *cme = &xe->xclient;