]> git.lizzy.rs Git - bspwm.git/blobdiff - types.h
Handle preselection in pseudo-automatic mode example
[bspwm.git] / types.h
diff --git a/types.h b/types.h
index 62a3713f651378d361a01642b031db0f6c70a597..040e4c8f7eca5a83fd4238ccf301b64360988cd4 100644 (file)
--- a/types.h
+++ b/types.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012-2014, Bastien Dejean
+/* Copyright (c) 2012, Bastien Dejean
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * The views and conclusions contained in the software and documentation are those
- * of the authors and should not be interpreted as representing official policies,
- * either expressed or implied, of the FreeBSD Project.
  */
 
 #ifndef BSPWM_TYPES_H
@@ -60,12 +56,19 @@ typedef enum {
        CLIENT_CLASS_DIFFER
 } client_class_t;
 
+typedef enum {
+       CLIENT_MODE_ALL,
+       CLIENT_MODE_AUTOMATIC,
+       CLIENT_MODE_MANUAL
+} client_mode_t;
+
 typedef struct {
        client_type_t type;
        client_class_t class;
+       client_mode_t mode;
        bool urgent;
-       bool manual;
        bool local;
+       bool unfocused;
 } client_select_t;
 
 typedef enum {
@@ -139,6 +142,11 @@ typedef enum {
        DESKTOP_URGENCY_OFF
 } desktop_urgency_t;
 
+typedef enum {
+       FIRST_CHILD,
+       SECOND_CHILD
+} child_polarity_t;
+
 typedef struct {
        desktop_status_t status;
        bool urgent;
@@ -147,8 +155,8 @@ typedef struct {
 
 typedef struct {
        xcb_window_t window;
-       char class_name[SMALEN];
-       char instance_name[SMALEN];
+       char class_name[3 * SMALEN / 2];
+       char instance_name[3 * SMALEN / 2];
        unsigned int border_width;
        bool pseudo_tiled;
        bool floating;
@@ -206,7 +214,6 @@ struct monitor_t {
        char name[SMALEN];
        xcb_randr_output_t id;
        xcb_rectangle_t rectangle;
-       xcb_window_t root;
        bool wired;
        int top_padding;
        int right_padding;
@@ -245,6 +252,7 @@ typedef struct subscriber_list_t subscriber_list_t;
 struct subscriber_list_t {
        int fd;
        FILE *stream;
+       int field;
        subscriber_list_t *prev;
        subscriber_list_t *next;
 };
@@ -259,11 +267,13 @@ struct rule_t {
 };
 
 typedef struct {
-       char class_name[SMALEN];
-       char instance_name[SMALEN];
+       char class_name[3 * SMALEN / 2];
+       char instance_name[3 * SMALEN / 2];
        char monitor_desc[MAXLEN];
        char desktop_desc[MAXLEN];
        char node_desc[MAXLEN];
+       char split_dir[SMALEN];
+       double split_ratio;
        uint16_t min_width;
        uint16_t max_width;
        uint16_t min_height;
@@ -275,10 +285,10 @@ typedef struct {
        bool sticky;
        bool private;
        bool center;
-       bool lower;
        bool follow;
        bool manage;
        bool focus;
+       bool border;
 } rule_consequence_t;
 
 typedef struct pending_rule_t pending_rule_t;