- 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);
+
+ 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);
+
+ wm_insert(win);
+ }
+