]> git.lizzy.rs Git - bspwm.git/blobdiff - src/types.h
bspwm: port rounded corners patch to latest version
[bspwm.git] / src / types.h
index 1703d2181b804e00d57f21cd74f1a1883c55cb6e..8fc8eb6afc20cf877295b770799be6cf64f86793 100644 (file)
@@ -44,6 +44,12 @@ typedef enum {
        MODE_MANUAL
 } split_mode_t;
 
+typedef enum {
+       SCHEME_LONGEST_SIDE,
+       SCHEME_ALTERNATE,
+       SCHEME_SPIRAL
+} automatic_scheme_t;
+
 typedef enum {
        STATE_TILED,
        STATE_PSEUDO_TILED,
@@ -144,6 +150,11 @@ typedef enum {
        TIGHTNESS_HIGH,
 } tightness_t;
 
+typedef enum {
+       AREA_BIGGEST,
+       AREA_SMALLEST,
+} area_peak_t;
+
 typedef enum {
        STATE_TRANSITION_ENTER = 1 << 0,
        STATE_TRANSITION_EXIT = 1 << 1,
@@ -152,8 +163,8 @@ typedef enum {
 typedef struct {
        option_bool_t automatic;
        option_bool_t focused;
-       option_bool_t local;
        option_bool_t active;
+       option_bool_t local;
        option_bool_t leaf;
        option_bool_t window;
        option_bool_t tiled;
@@ -172,13 +183,20 @@ typedef struct {
        option_bool_t below;
        option_bool_t normal;
        option_bool_t above;
+       option_bool_t horizontal;
+       option_bool_t vertical;
 } node_select_t;
 
 typedef struct {
        option_bool_t occupied;
        option_bool_t focused;
+       option_bool_t active;
        option_bool_t urgent;
        option_bool_t local;
+       option_bool_t tiled;
+       option_bool_t monocle;
+       option_bool_t user_tiled;
+       option_bool_t user_monocle;
 } desktop_select_t;
 
 typedef struct {
@@ -194,11 +212,15 @@ struct icccm_props_t {
 };
 
 typedef struct {
-       char class_name[3 * SMALEN / 2];
-       char instance_name[3 * SMALEN / 2];
+       char class_name[MAXLEN];
+       char instance_name[MAXLEN];
+       char name[MAXLEN];
        unsigned int border_width;
+    unsigned int border_radius;
+    unsigned int drawn_border_radius;
        bool urgent;
        bool shown;
+    bool sets_own_shape;
        client_state_t state;
        client_state_t last_state;
        stack_layer_t layer;
@@ -228,7 +250,6 @@ struct node_t {
        uint32_t id;
        split_type_t split_type;
        double split_ratio;
-       int birth_rotation;
        presel_t *presel;
        xcb_rectangle_t rectangle;
        constraints_t constraints;
@@ -257,6 +278,7 @@ struct desktop_t {
        char name[SMALEN];
        uint32_t id;
        layout_t layout;
+       layout_t user_layout;
        node_t *root;
        node_t *focus;
        desktop_t *prev;
@@ -264,6 +286,7 @@ struct desktop_t {
        padding_t padding;
        int window_gap;
        unsigned int border_width;
+       unsigned int border_radius;
 };
 
 typedef struct monitor_t monitor_t;
@@ -277,6 +300,7 @@ struct monitor_t {
        unsigned int sticky_count;
        int window_gap;
        unsigned int border_width;
+       unsigned int border_radius;
        xcb_rectangle_t rectangle;
        desktop_t *desk;
        desktop_t *desk_head;
@@ -306,9 +330,15 @@ struct stacking_list_t {
        stacking_list_t *next;
 };
 
+typedef struct event_queue_t event_queue_t;
+struct event_queue_t {
+       xcb_generic_event_t event;
+       event_queue_t *prev;
+       event_queue_t *next;
+};
+
 typedef struct subscriber_list_t subscriber_list_t;
 struct subscriber_list_t {
-       int fd;
        FILE *stream;
        char* fifo_path;
        int field;
@@ -321,6 +351,7 @@ typedef struct rule_t rule_t;
 struct rule_t {
        char class_name[MAXLEN];
        char instance_name[MAXLEN];
+       char name[MAXLEN];
        char effect[MAXLEN];
        bool one_shot;
        rule_t *prev;
@@ -328,12 +359,13 @@ struct rule_t {
 };
 
 typedef struct {
-       char class_name[3 * SMALEN / 2];
-       char instance_name[3 * SMALEN / 2];
+       char class_name[MAXLEN];
+       char instance_name[MAXLEN];
+       char name[MAXLEN];
        char monitor_desc[MAXLEN];
        char desktop_desc[MAXLEN];
        char node_desc[MAXLEN];
-       char split_dir[SMALEN];
+       direction_t *split_dir;
        double split_ratio;
        stack_layer_t *layer;
        client_state_t *state;
@@ -355,6 +387,8 @@ struct pending_rule_t {
        int fd;
        xcb_window_t win;
        rule_consequence_t *csq;
+       event_queue_t *event_head;
+       event_queue_t *event_tail;
        pending_rule_t *prev;
        pending_rule_t *next;
 };