[teklib-general] teklib: Sizehints are no longer set if a window has a fixed posi...
Timm S. Mueller
tmueller at neoscientists.org
Wed Apr 9 22:00:49 CEST 2008
details: http://hg.teklib.org/teklib/rev/fd8ff8efd925
changeset: 178:fd8ff8efd925
user: Timm S. Mueller <tmueller at neoscientists.org>
date: Wed Apr 09 12:38:50 2008 +0200
description:
Sizehints are no longer set if a window has a fixed position (assuming that it
ought to have a fixed size as well)
diffs (84 lines):
diff -r 9e133a90578e -r fd8ff8efd925 src/display_x11/display_x11_api.c
--- a/src/display_x11/display_x11_api.c Tue Apr 08 23:41:14 2008 +0200
+++ b/src/display_x11/display_x11_api.c Wed Apr 09 12:38:50 2008 +0200
@@ -52,7 +52,7 @@ x11_openvisual(TMOD_X11 *mod, struct TVR
v->winleft = (TINT) TGetTag(tags, TVisual_WinLeft, -1);
v->wintop = (TINT) TGetTag(tags, TVisual_WinTop, -1);
- if (v->winleft > -1 || v->wintop > -1)
+ if (v->winleft >= 0 || v->wintop >= 0)
{
v->winleft = TMAX(v->winleft, 0);
v->wintop = TMAX(v->wintop, 0);
@@ -77,37 +77,40 @@ x11_openvisual(TMOD_X11 *mod, struct TVR
v->sizehints->flags = 0;
- v->sizehints->min_width = (TINT)
- TGetTag(tags, TVisual_MinWidth, (TTAG) -1);
- v->sizehints->min_height = (TINT)
- TGetTag(tags, TVisual_MinHeight, (TTAG) -1);
- v->sizehints->max_width = (TINT)
- TGetTag(tags, TVisual_MaxWidth, (TTAG) -1);
- v->sizehints->max_height = (TINT)
- TGetTag(tags, TVisual_MaxHeight, (TTAG) -1);
-
- if (v->sizehints->max_width > 0)
- v->winwidth = TMIN(v->winwidth, v->sizehints->max_width);
- if (v->sizehints->max_height > 0)
- v->winheight = TMIN(v->winheight, v->sizehints->max_height);
- if (v->sizehints->min_width > 0)
- v->winwidth = TMAX(v->winwidth, v->sizehints->min_width);
- if (v->sizehints->min_height > 0)
- v->winheight = TMAX(v->winheight, v->sizehints->min_height);
-
- v->sizehints->min_width =
- v->sizehints->min_width <= 0 ? 1 : v->sizehints->min_width;
- v->sizehints->min_height =
- v->sizehints->min_height <= 0 ? 1 : v->sizehints->min_height;
- v->sizehints->max_width =
- v->sizehints->max_width <= 0 ? 1000000 : v->sizehints->max_width;
- v->sizehints->max_height =
- v->sizehints->max_height <= 0 ? 1000000 : v->sizehints->max_height;
-
- /*if (v->sizehints->min_width >= 0 && v->sizehints->min_height >= 0)*/
- v->sizehints->flags |= PMinSize;
- /*if (v->sizehints->max_width >= 0 && v->sizehints->max_height >= 0)*/
- v->sizehints->flags |= PMaxSize;
+ if (v->winleft < 0 || v->wintop < 0)
+ {
+ v->sizehints->min_width = (TINT)
+ TGetTag(tags, TVisual_MinWidth, (TTAG) -1);
+ v->sizehints->min_height = (TINT)
+ TGetTag(tags, TVisual_MinHeight, (TTAG) -1);
+ v->sizehints->max_width = (TINT)
+ TGetTag(tags, TVisual_MaxWidth, (TTAG) -1);
+ v->sizehints->max_height = (TINT)
+ TGetTag(tags, TVisual_MaxHeight, (TTAG) -1);
+
+ if (v->sizehints->max_width > 0)
+ v->winwidth = TMIN(v->winwidth, v->sizehints->max_width);
+ if (v->sizehints->max_height > 0)
+ v->winheight = TMIN(v->winheight, v->sizehints->max_height);
+ if (v->sizehints->min_width > 0)
+ v->winwidth = TMAX(v->winwidth, v->sizehints->min_width);
+ if (v->sizehints->min_height > 0)
+ v->winheight = TMAX(v->winheight, v->sizehints->min_height);
+
+ v->sizehints->min_width =
+ v->sizehints->min_width <= 0 ? 1 : v->sizehints->min_width;
+ v->sizehints->min_height =
+ v->sizehints->min_height <= 0 ? 1 : v->sizehints->min_height;
+ v->sizehints->max_width =
+ v->sizehints->max_width <= 0 ? 1000000 : v->sizehints->max_width;
+ v->sizehints->max_height =
+ v->sizehints->max_height <= 0 ? 1000000 : v->sizehints->max_height;
+
+ /*if (v->sizehints->min_width >= 0 && v->sizehints->min_height >= 0)*/
+ v->sizehints->flags |= PMinSize;
+ /*if (v->sizehints->max_width >= 0 && v->sizehints->max_height >= 0)*/
+ v->sizehints->flags |= PMaxSize;
+ }
TDBPRINTF(TDB_INFO,("width: %d..%d..%d - height: %d..%d..%d\n",
v->sizehints->min_width, v->winwidth, v->sizehints->max_width,
More information about the teklib-general
mailing list