Added Awesome/Monad type "auto" layouts

This commit is contained in:
wil 2016-12-10 16:44:43 +01:00
parent 6a1df17fb7
commit 97f7d47413
7 changed files with 372 additions and 113 deletions

View file

@ -37,6 +37,13 @@ enum swayc_layouts {
L_STACKED,
L_TABBED,
L_FLOATING, /**< A psuedo-container, removed from the tree, to hold floating windows */
/* Awesome/Monad style auto layouts */
L_AUTO_LEFT,
L_AUTO_RIGHT,
L_AUTO_TOP,
L_AUTO_BOTTOM,
// Keep last
L_LAYOUTS,
};
@ -144,6 +151,16 @@ struct sway_container {
struct wlc_geometry title_bar_geometry;
struct wlc_geometry actual_geometry;
int border_thickness;
/**
* Number of master views in auto layouts.
*/
uint32_t nb_master;
/**
* Number of slave groups (e.g. columns) in auto layouts.
*/
uint32_t nb_slave_groups;
};
enum visibility_mask {

View file

@ -75,4 +75,7 @@ void swayc_log(log_importance_t verbosity, swayc_t *cont, const char* format, ..
*/
enum swayc_layouts default_layout(swayc_t *output);
inline bool is_auto_layout(enum swayc_layouts layout) {
return (layout >= L_AUTO_LEFT) && (layout <= L_AUTO_BOTTOM);
}
#endif