diff --git a/src/E.h b/src/E.h index caee002e..4e489cbe 100644 --- a/src/E.h +++ b/src/E.h @@ -209,10 +209,6 @@ */ #include "etypes.h" -typedef struct { - int min, max; -} Constraints; - typedef struct { Window xwin; Win win; diff --git a/src/borders.h b/src/borders.h index 3ac91db4..e885fecf 100644 --- a/src/borders.h +++ b/src/borders.h @@ -28,6 +28,10 @@ #include "eimage.h" #include "etypes.h" +typedef struct { + int min, max; +} WinLimit; + typedef struct { int originbox; struct { @@ -37,7 +41,7 @@ typedef struct { } WinPoint; typedef struct { - Constraints width, height; + WinLimit width, height; WinPoint topleft, bottomright; } Geometry; diff --git a/src/buttons.c b/src/buttons.c index b8f04dfb..7e5297f0 100644 --- a/src/buttons.c +++ b/src/buttons.c @@ -42,7 +42,8 @@ PointerMotionMask) typedef struct { - Constraints width, height; + int width_min, width_max; + int height_min, height_max; int xorigin, yorigin; int xabs, xrel; int yabs, yrel; @@ -140,10 +141,10 @@ ButtonCreate(const char *name, int id, const char *iclass, b->tclass = TextclassAlloc(tclass, 1); b->flags = flags; - b->geom.width.min = minw; - b->geom.width.max = maxw; - b->geom.height.min = minh; - b->geom.height.max = maxh; + b->geom.width_min = minw; + b->geom.width_max = maxw; + b->geom.height_min = minh; + b->geom.height_max = maxh; b->geom.xorigin = xo; b->geom.yorigin = yo; b->geom.xabs = xa; @@ -236,14 +237,14 @@ ButtonCalc(Button * b) w = ((b->geom.xsizerel * VRoot.w) >> 10) + b->geom.xsizeabs; h = ((b->geom.ysizerel * VRoot.h) >> 10) + b->geom.ysizeabs; } - if (w > b->geom.width.max) - w = b->geom.width.max; - else if (w < b->geom.width.min) - w = b->geom.width.min; - if (h > b->geom.height.max) - h = b->geom.height.max; - else if (h < b->geom.height.min) - h = b->geom.height.min; + if (w > b->geom.width_max) + w = b->geom.width_max; + else if (w < b->geom.width_min) + w = b->geom.width_min; + if (h > b->geom.height_max) + h = b->geom.height_max; + else if (h < b->geom.height_min) + h = b->geom.height_min; xo = (w * b->geom.xorigin) >> 10; yo = (h * b->geom.yorigin) >> 10; x = ((b->geom.xrel * VRoot.w) >> 10) + b->geom.xabs - xo; @@ -703,10 +704,10 @@ ButtonsConfigLoad(FILE * fs) pbt->flags = flags; pbt->internal = internal; pbt->default_show = show; - pbt->geom.width.min = minw; - pbt->geom.width.max = maxw; - pbt->geom.height.min = minh; - pbt->geom.height.max = maxh; + pbt->geom.width_min = minw; + pbt->geom.width_max = maxw; + pbt->geom.height_min = minh; + pbt->geom.height_max = maxh; pbt->geom.xorigin = xo; pbt->geom.yorigin = yo; pbt->geom.xabs = xa; @@ -853,10 +854,10 @@ ButtonsConfigSave(void) fprintf(fs, "11 %s\n", ActionclassGetName(b->aclass)); if (EoGetLayer(b) >= 0) fprintf(fs, "453 %i\n", EoGetLayer(b)); - fprintf(fs, "456 %i\n", b->geom.width.min); - fprintf(fs, "457 %i\n", b->geom.width.max); - fprintf(fs, "468 %i\n", b->geom.height.min); - fprintf(fs, "469 %i\n", b->geom.height.max); + fprintf(fs, "456 %i\n", b->geom.width_min); + fprintf(fs, "457 %i\n", b->geom.width_max); + fprintf(fs, "468 %i\n", b->geom.height_min); + fprintf(fs, "469 %i\n", b->geom.height_max); fprintf(fs, "528 %i\n", b->geom.xorigin); fprintf(fs, "529 %i\n", b->geom.yorigin); fprintf(fs, "530 %i\n", b->geom.xabs); diff --git a/src/ewins.c b/src/ewins.c index 867f0f22..715f20cc 100644 --- a/src/ewins.c +++ b/src/ewins.c @@ -104,10 +104,10 @@ EwinCreate(int type) ewin->icccm.need_input = 1; - ewin->icccm.width.min = 0; - ewin->icccm.height.min = 0; - ewin->icccm.width.max = 65535; - ewin->icccm.height.max = 65535; + ewin->icccm.width_min = 0; + ewin->icccm.height_min = 0; + ewin->icccm.width_max = 65535; + ewin->icccm.height_max = 65535; ewin->icccm.base_w = 0; ewin->icccm.base_h = 0; ewin->icccm.w_inc = 1; diff --git a/src/ewins.h b/src/ewins.h index 1b96d26f..e47a8daf 100644 --- a/src/ewins.h +++ b/src/ewins.h @@ -176,7 +176,8 @@ struct _ewin { Window client_leader; /* WM_NORMAL_HINTS */ - Constraints width, height; + int width_min, width_max; + int height_min, height_max; int base_w, base_h; int w_inc, h_inc; int grav; diff --git a/src/icccm.c b/src/icccm.c index a39f72d1..fae07ce1 100644 --- a/src/icccm.c +++ b/src/icccm.c @@ -1,6 +1,6 @@ /* * Copyright (C) 2000-2007 Carsten Haitzler, Geoff Harrison and various contributors - * Copyright (C) 2004-2007 Kim Woelders + * Copyright (C) 2004-2008 Kim Woelders * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to @@ -167,14 +167,14 @@ ICCCM_SizeMatch(const EWin * ewin, int wi, int hi, int *pwo, int *pho) w = wi; h = hi; - if (w < ewin->icccm.width.min) - w = ewin->icccm.width.min; - if (w > ewin->icccm.width.max) - w = ewin->icccm.width.max; - if (h < ewin->icccm.height.min) - h = ewin->icccm.height.min; - if (h > ewin->icccm.height.max) - h = ewin->icccm.height.max; + if (w < ewin->icccm.width_min) + w = ewin->icccm.width_min; + if (w > ewin->icccm.width_max) + w = ewin->icccm.width_max; + if (h < ewin->icccm.height_min) + h = ewin->icccm.height_min; + if (h > ewin->icccm.height_max) + h = ewin->icccm.height_max; if ((w > 0) && (h > 0)) { w -= ewin->icccm.base_w; @@ -240,10 +240,10 @@ ICCCM_SetSizeConstraints(EWin * ewin, unsigned int wmin, unsigned int hmin, unsigned int winc, unsigned int hinc, double amin, double amax) { - ewin->icccm.width.min = wmin; - ewin->icccm.height.min = hmin; - ewin->icccm.width.max = wmax; - ewin->icccm.height.max = hmax; + ewin->icccm.width_min = wmin; + ewin->icccm.height_min = hmin; + ewin->icccm.width_max = wmax; + ewin->icccm.height_max = hmax; ewin->icccm.base_w = wbase; ewin->icccm.base_h = hbase; @@ -443,24 +443,24 @@ ICCCM_GetGeoms(EWin * ewin) if (hint.flags & PMinSize) { - ewin->icccm.width.min = MAX(0, hint.min_width); - ewin->icccm.height.min = MAX(0, hint.min_height); + ewin->icccm.width_min = MAX(0, hint.min_width); + ewin->icccm.height_min = MAX(0, hint.min_height); } else { - ewin->icccm.width.min = 0; - ewin->icccm.height.min = 0; + ewin->icccm.width_min = 0; + ewin->icccm.height_min = 0; } if (hint.flags & PMaxSize) { - ewin->icccm.width.max = MIN(hint.max_width, 65535); - ewin->icccm.height.max = MIN(hint.max_height, 65535); + ewin->icccm.width_max = MIN(hint.max_width, 65535); + ewin->icccm.height_max = MIN(hint.max_height, 65535); } else { - ewin->icccm.width.max = 65535; - ewin->icccm.height.max = 65535; + ewin->icccm.width_max = 65535; + ewin->icccm.height_max = 65535; } if (hint.flags & PResizeInc) @@ -508,23 +508,23 @@ ICCCM_GetGeoms(EWin * ewin) } else { - ewin->icccm.base_w = ewin->icccm.width.min; - ewin->icccm.base_h = ewin->icccm.height.min; + ewin->icccm.base_w = ewin->icccm.width_min; + ewin->icccm.base_h = ewin->icccm.height_min; } - if (ewin->icccm.width.min < ewin->icccm.base_w) - ewin->icccm.width.min = ewin->icccm.base_w; - if (ewin->icccm.height.min < ewin->icccm.base_h) - ewin->icccm.height.min = ewin->icccm.base_h; + if (ewin->icccm.width_min < ewin->icccm.base_w) + ewin->icccm.width_min = ewin->icccm.base_w; + if (ewin->icccm.height_min < ewin->icccm.base_h) + ewin->icccm.height_min = ewin->icccm.base_h; - if (ewin->icccm.width.max < ewin->icccm.base_w) - ewin->icccm.width.max = ewin->icccm.base_w; - if (ewin->icccm.height.max < ewin->icccm.base_h) - ewin->icccm.height.max = ewin->icccm.base_h; + if (ewin->icccm.width_max < ewin->icccm.base_w) + ewin->icccm.width_max = ewin->icccm.base_w; + if (ewin->icccm.height_max < ewin->icccm.base_h) + ewin->icccm.height_max = ewin->icccm.base_h; } - ewin->props.no_resize_h = (ewin->icccm.width.min == ewin->icccm.width.max); - ewin->props.no_resize_v = (ewin->icccm.height.min == ewin->icccm.height.max); + ewin->props.no_resize_h = (ewin->icccm.width_min == ewin->icccm.width_max); + ewin->props.no_resize_v = (ewin->icccm.height_min == ewin->icccm.height_max); if (EDebug(EDBUG_TYPE_SNAPS)) Eprintf("Snap get icccm %#lx: %4d+%4d %4dx%4d: %s\n", diff --git a/src/ipc.c b/src/ipc.c index 180d02e2..62bacbbb 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -1093,8 +1093,8 @@ EwinShowInfo(const EWin * ewin) EwinIsTransient(ewin), EwinGetTransientFor(ewin), ewin->props.no_resize_h, ewin->props.no_resize_v, ewin->state.shaped, ewin->icccm.base_w, ewin->icccm.base_h, - ewin->icccm.width.min, ewin->icccm.height.min, - ewin->icccm.width.max, ewin->icccm.height.max, + ewin->icccm.width_min, ewin->icccm.height_min, + ewin->icccm.width_max, ewin->icccm.height_max, ewin->icccm.w_inc, ewin->icccm.h_inc, ewin->icccm.aspect_min, ewin->icccm.aspect_max, ewin->strut.left, ewin->strut.right, diff --git a/src/windowmatch.c b/src/windowmatch.c index a768fcf9..bef676a7 100644 --- a/src/windowmatch.c +++ b/src/windowmatch.c @@ -41,8 +41,8 @@ struct _windowmatch { char prop; char qual; char *value; - Constraints width; - Constraints height; + int width_min, width_max; + int height_min, height_max; /* Match actions */ char *args; Border *border; @@ -108,8 +108,8 @@ WindowMatchCreate(const char *name) ecore_list_prepend(wm_list, b); b->name = Estrdup(name); - b->width.max = 99999; - b->height.max = 99999; + b->width_max = 99999; + b->height_max = 99999; return b; } @@ -188,7 +188,7 @@ WindowMatchConfigLoad(FILE * fs) wm->match = MATCH_TYPE_SIZE; else wm->match = MATCH_TYPE_SIZE_H; - sscanf(s, "%*s %u %u", &(wm->width.min), &(wm->width.max)); + sscanf(s, "%*s %u %u", &(wm->width_min), &(wm->width_max)); break; case WINDOWMATCH_HEIGHT: if (!wm) @@ -197,7 +197,7 @@ WindowMatchConfigLoad(FILE * fs) wm->match = MATCH_TYPE_SIZE; else wm->match = MATCH_TYPE_SIZE_V; - sscanf(s, "%*s %u %u", &(wm->height.min), &(wm->height.max)); + sscanf(s, "%*s %u %u", &(wm->height_min), &(wm->height_max)); break; case WINDOWMATCH_TRANSIENT: @@ -325,24 +325,24 @@ WindowMatchDecode(const char *line) num = sscanf(value, "%u-%ux%u-%u", &w1, &w2, &h1, &h2); if (num < 4) goto case_error; - wm->width.min = w1; - wm->width.max = w2; - wm->height.min = h1; - wm->height.max = h2; + wm->width_min = w1; + wm->width_max = w2; + wm->height_min = h1; + wm->height_max = h2; break; case MATCH_TYPE_SIZE_H: num = sscanf(value, "%u-%u", &w1, &w2); if (num < 2) goto case_error; - wm->width.min = w1; - wm->width.max = w2; + wm->width_min = w1; + wm->width_max = w2; break; case MATCH_TYPE_SIZE_V: num = sscanf(value, "%u-%u", &h1, &h2); if (num < 2) goto case_error; - wm->height.min = h1; - wm->height.max = h2; + wm->height_min = h1; + wm->height_max = h2; break; case MATCH_TYPE_PROP: @@ -427,16 +427,16 @@ WindowMatchEncode(WindowMatch * wm, char *buf, int len) case MATCH_TYPE_SIZE: value = s; - sprintf(s, "%u-%ux%u-%u", wm->width.min, wm->width.max, - wm->height.min, wm->height.max); + sprintf(s, "%u-%ux%u-%u", wm->width_min, wm->width_max, + wm->height_min, wm->height_max); break; case MATCH_TYPE_SIZE_H: value = s; - sprintf(s, "%u-%u", wm->width.min, wm->width.max); + sprintf(s, "%u-%u", wm->width_min, wm->width_max); break; case MATCH_TYPE_SIZE_V: value = s; - sprintf(s, "%u-%u", wm->height.min, wm->height.max); + sprintf(s, "%u-%u", wm->height_min, wm->height_max); break; case MATCH_TYPE_PROP: @@ -504,18 +504,18 @@ WindowMatchEwinTest(const WindowMatch * wm, const EWin * ewin) return matchregexp(wm->value, EwinGetIcccmClass(ewin)); case MATCH_TYPE_SIZE: - match = (ewin->client.w >= wm->width.min && - ewin->client.w <= wm->width.max && - ewin->client.h >= wm->height.min && - ewin->client.h <= wm->height.max); + match = (ewin->client.w >= wm->width_min && + ewin->client.w <= wm->width_max && + ewin->client.h >= wm->height_min && + ewin->client.h <= wm->height_max); break; case MATCH_TYPE_SIZE_H: - match = (ewin->client.w >= wm->width.min && - ewin->client.w <= wm->width.max); + match = (ewin->client.w >= wm->width_min && + ewin->client.w <= wm->width_max); break; case MATCH_TYPE_SIZE_V: - match = (ewin->client.h >= wm->height.min && - ewin->client.h <= wm->height.max); + match = (ewin->client.h >= wm->height_min && + ewin->client.h <= wm->height_max); break; case MATCH_TYPE_PROP: