#define min(a,b) (a < b ? a : b)
#define max(a,b) (a > b ? a : b)
-/*
-Management Notes:
- * N monitors
- * M workspaces per monitor
- * O columns per workspace
- * Windows can tile in a column or float on workspaces
- * Columns can have different layouts: manual, stacked, monocle
-
- TODO: warp mouse pointer to title bars on new windows
- TODO: implement mouse handling for tiling methods
- TODO: add logic to add/del columns and retile
-
-Mouse Actions:
- Floating:
- Btn Click 1:
- Btn Drag 1: Move Window
- Btn Click 2: Close Window
- Btn Click 3: Shade/Unshade Window
- Btn Click 4: Lower Window
- Btn Click 5: Raise Window
-
- Monocled:
- Btn Click 1: Switch to stacked (maximize client)
- Btn Drag 1: Move to column
- Btn Click 2: Close Window
- Btn Click 3: Next Window
- Btn Click 4:
- Btn Click 5:
-
- Stacked:
- Btn Click 1: Make client bigger
- Btn Drag 1: Drag titlebar: resize/move in column or move to column. Drag Border: resize columns
- Btn Click 2: Close Window
- Btn Click 3: Switch to monocled mode
- Btn Click 4: Maximize Window
- Btn Click 5: Maximize Window
-
-* Monocled mode
- * Opening a new window switches to max-stacked and splits the subsequent max window
- * Left click switches to max-stacked
-* Monocled->Stacked Shows focused window max size and titlebars only for everything else
- * opening a new window splits the expanded one since it is max size
-
-*/
+/* TODO: warp mouse pointer to title bars on new windows */
+/* TODO: implement mouse handling for tiling methods */
+/* TODO: add logic to add/del columns and retile */
enum {
M_INIT,