+/* layout handlers */
+void stack(void);
+void vertical_init(int);
+void vertical_resize(int);
+void vertical_stack(struct swm_geometry *);
+void horizontal_init(int);
+void horizontal_resize(int);
+void horizontal_stack(struct swm_geometry *);
+void max_init(int);
+void max_focus(struct ws_win *);
+void max_stack(struct swm_geometry *);
+
+struct layout {
+ void (*l_init)(int); /* init/reset */
+ void (*l_stack)(struct swm_geometry *);
+ void (*l_resize)(int);
+ void (*l_focus)(struct ws_win *);
+} layouts[] = {
+ /* init stack, resize */
+ { vertical_init, vertical_stack, vertical_resize, NULL},
+ { horizontal_init, horizontal_stack, horizontal_resize, NULL},
+ { NULL, max_stack, NULL, max_focus},
+ { NULL, NULL, NULL, NULL},
+};
+
+