/** Number of this workspace, starting from 0 */
int num;
+ /** Name of the workspace (in UCS-2) */
+ char *name;
+
+ /** Length of the workspace’s name (in glyphs) */
+ int name_len;
+
+ /** Width of the workspace’s name (in pixels) rendered in config.font */
+ int text_width;
+
/** x, y, width, height */
Rect rect;
/** floating is true if this was an assignment to the special
* workspace "~". Matching clients will be put into floating mode
* automatically. */
- bool floating;
+ enum {
+ ASSIGN_FLOATING_NO, /* don’t float, but put on a workspace */
+ ASSIGN_FLOATING_ONLY, /* float, but don’t assign on a workspace */
+ ASSIGN_FLOATING /* float and put on a workspace */
+ } floating;
+
/** The number of the workspace to assign to. */
int workspace;
TAILQ_ENTRY(Assignment) assignments;
/** Holds the WM_CLASS, useful for matching the client in commands */
char *window_class;
+ /** Holds the xcb_window_t (just an ID) for the leader window (logical
+ * parent for toolwindows and similar floating windows) */
+ xcb_window_t leader;
+
/** fullscreen is pretty obvious */
bool fullscreen;