7 #include <xcb/xcb_event.h>
10 #define MISSING_VALUE "N/A"
46 CLIENT_MODE_AUTOMATIC,
60 client_urgency_t urgency;
121 DESKTOP_STATUS_OCCUPIED
131 desktop_status_t status;
132 desktop_urgency_t urgency;
137 char class_name[MAXLEN];
138 unsigned int border_width;
140 bool transient; /* transient window are always floating */
142 bool locked; /* protects window from being closed */
145 xcb_rectangle_t floating_rectangle;
146 xcb_rectangle_t tiled_rectangle;
149 typedef struct node_t node_t;
151 split_type_t split_type;
153 split_mode_t split_mode;
154 direction_t split_dir;
156 xcb_rectangle_t rectangle;
157 bool vacant; /* vacant nodes only hold floating clients */
159 node_t *second_child;
161 client_t *client; /* NULL except for leaves */
164 typedef struct node_list_t node_list_t;
177 typedef struct desktop_t desktop_t;
183 focus_history_t *history;
189 typedef struct monitor_t monitor_t;
192 xcb_randr_output_t id;
193 xcb_rectangle_t rectangle;
200 desktop_t *last_desk;
201 desktop_t *desk_head;
202 desktop_t *desk_tail;
227 typedef struct rule_t rule_t;
232 rule_effect_t effect;
238 xcb_point_t position;
239 pointer_action_t action;
240 xcb_rectangle_t rectangle;
241 node_t *vertical_fence;
242 node_t *horizontal_fence;
249 double vertical_ratio;
250 double horizontal_ratio;
257 unsigned int distance;