- if (win_prop(win, NET_TYPE) == atoms[NET_DIALOG])
- win->type = TYPE_DIALOG;
- if (XGetTransientForHint(dpy, xid, &trans))
- win->parent = win_find(dpy, trans, 0);
- printf("win_new: %p = %p, %d (%d,%d %dx%d) - %s\n",
- win, dpy, (int)xid,
+
+ if (root) {
+ if (strut_add(root, win))
+ win->type = TYPE_TOOLBAR;
+
+ if (win_prop(win, NET_TYPE) == atoms[NET_DIALOG])
+ win->type = TYPE_DIALOG;
+
+ if (win_prop(win, NET_STATE) == atoms[NET_FULL])
+ win->state = ST_FULL;
+
+ if (XGetTransientForHint(dpy, xid, &trans))
+ win->parent = win_find(dpy, trans, 0);
+
+ XSelectInput(dpy, xid, PropertyChangeMask);
+ }
+
+ printf("win_new: win=%p x11=(%p,%d) state=%x pos=(%d,%d %dx%d) type=%s\n",
+ win, dpy, (int)xid, win->state,