Partial revert of replacing screen_area() with region_find(); until a

fix for a regression is found; this bug has been around for a long time
it seems, but this change exposed it. Likely need to track clients in to
and out of regions.
This commit is contained in:
okan
2015-11-11 14:22:01 +00:00
parent 09565bc423
commit 00bdd48b1d
6 changed files with 87 additions and 62 deletions

View File

@@ -74,6 +74,9 @@
#define CWM_MENU_FILE 0x0002
#define CWM_MENU_LIST 0x0004
#define CWM_GAP 0x0001
#define CWM_NOGAP 0x0002
#define CWM_KBD 0x0001
#define CWM_MOUSE 0x0002
@@ -217,6 +220,7 @@ TAILQ_HEAD(autogroupwin_q, autogroupwin);
struct region_ctx {
TAILQ_ENTRY(region_ctx) entry;
int num;
struct geom area;
struct geom view; /* viewable area */
struct geom work; /* workable area, gap-applied */
};
@@ -451,9 +455,10 @@ void search_print_client(struct menu *, int);
void search_print_cmd(struct menu *, int);
void search_print_group(struct menu *, int);
struct region_ctx *region_find(struct screen_ctx *, int, int);
struct geom screen_apply_gap(struct screen_ctx *, struct geom);
struct screen_ctx *screen_find(Window);
struct region_ctx *region_find(struct screen_ctx *, int, int);
struct geom screen_area(struct screen_ctx *, int, int, int);
void screen_init(int);
void screen_update_geometry(struct screen_ctx *);
void screen_updatestackingorder(struct screen_ctx *);