POINTER_WARPING_NONE = 1
} warping_t;
+/**
+ * Focus wrapping modes.
+ */
+typedef enum {
+ FOCUS_WRAPPING_OFF = 0,
+ FOCUS_WRAPPING_ON = 1,
+ FOCUS_WRAPPING_FORCE = 2
+} focus_wrapping_t;
+
/**
* Stores a rectangle, for example the size of a window, the child window etc.
* It needs to be packed so that the compiler will not add any padding bytes.
* title bar (default). */
bool whole_window;
+ /** If this is true for a mouse binding, the binding should only be
+ * executed if the button press was not on the titlebar. */
+ bool exclude_titlebar;
+
/** Keycode to bind */
uint32_t keycode;
autostarts_always;
};
+struct output_name {
+ char *name;
+
+ SLIST_ENTRY(output_name)
+ names;
+};
+
/**
* An Output is a physical output on your graphics driver. Outputs which
* are currently in use have (output->active == true). Each output has a
bool to_be_disabled;
bool primary;
- /** Name of the output */
- char *name;
+ /** List of names for the output.
+ * An output always has at least one name; the first name is
+ * considered the primary one. */
+ SLIST_HEAD(names_head, output_name)
+ names_head;
/** Pointer to the Con which represents this output */
Con *con;
int min_width;
int min_height;
+ /* Maximum size specified for the window. */
+ int max_width;
+ int max_height;
+
/* aspect ratio from WM_NORMAL_HINTS (MPlayer uses this for example) */
double aspect_ratio;
};
A_ANY = 0,
A_COMMAND = (1 << 0),
A_TO_WORKSPACE = (1 << 1),
- A_NO_FOCUS = (1 << 2)
+ A_NO_FOCUS = (1 << 2),
+ A_TO_WORKSPACE_NUMBER = (1 << 3),
+ A_TO_OUTPUT = (1 << 4)
} type;
/** the criteria to check if a window matches */
Match match;
- /** destination workspace/command, depending on the type */
+ /** destination workspace/command/output, depending on the type */
union {
char *command;
char *workspace;
+ char *output;
} dest;
TAILQ_ENTRY(Assignment)