5 #include <xcb/xcb_event.h>
8 #define SPLIT_RATIO 0.5
9 #define DEFAULT_DESK_NAME "One"
49 ROTATE_COUNTER_CLOCKWISE,
63 bool transient; /* transient window are always floating */
65 bool locked; /* protects window from being closed */
67 xcb_rectangle_t floating_rectangle;
68 xcb_rectangle_t tiled_rectangle;
71 typedef struct node_t node_t;
73 split_type_t split_type;
75 xcb_rectangle_t rectangle;
76 bool vacant; /* vacant nodes only hold floating clients */
77 split_mode_t born_as; /* container node property used to when removing leaves */
81 client_t *client; /* NULL except for leaves */
84 typedef struct desktop_t desktop_t;
101 char desk_name[MAXLEN];
104 typedef struct rule_t rule_t;
107 rule_effect_t effect;
113 xcb_point_t position;
114 xcb_rectangle_t rectangle;
123 node_t *make_node(void);
124 desktop_t *make_desktop(const char *);
125 client_t *make_client(xcb_window_t);
126 rule_t *make_rule(void);
127 pointer_state_t *make_pointer_state(void);