1997-07-28 21:49:54 +00:00
|
|
|
This fixes a couple of problems in the setting of the WM_NORMAL_HINTS
|
|
|
|
window manager property.
|
|
|
|
|
|
|
|
The flags were set indicating that the width, height, x, and y fields
|
|
|
|
were valid, but these fields in fact contained garbage. Since the
|
|
|
|
fields are obsolete now (starting with X11R5), I simply removed the
|
|
|
|
code that set the corresponding flags.
|
|
|
|
|
|
|
|
Also, the base_width, base_height, width_inc, and height_inc fields
|
|
|
|
were not set. This caused the window manager to display incorrect
|
|
|
|
values for window size while resizing it.
|
|
|
|
|
|
|
|
I have sent this patch to DEC SRC.
|
|
|
|
|
1998-01-17 21:12:15 +00:00
|
|
|
--- m3/ui/src/xvbt/XClient.m3.orig Mon Mar 6 17:44:15 1995
|
|
|
|
+++ m3/ui/src/xvbt/XClient.m3 Mon Jul 28 13:45:30 1997
|
1997-07-28 21:49:54 +00:00
|
|
|
@@ -520,7 +520,7 @@
|
|
|
|
BEGIN
|
|
|
|
ur.sh := sh;
|
|
|
|
ur.sv := sv;
|
|
|
|
- SetSizeHints(xSizeHints, width, height, sh, sv, st, userPosition);
|
|
|
|
+ SetSizeHints(xSizeHints, width, height, sh, sv, st);
|
|
|
|
END;
|
|
|
|
xwa.border_pixel := 0;
|
|
|
|
xwa.bit_gravity := X.NorthWestGravity;
|
|
|
|
@@ -1080,19 +1080,17 @@
|
|
|
|
PROCEDURE SetSizeHints (VAR xhints : X.XSizeHints;
|
|
|
|
VAR width, height: CARDINAL;
|
|
|
|
READONLY sh, sv : VBT.SizeRange;
|
|
|
|
- st : XScreenType.T;
|
|
|
|
- userPosition : BOOLEAN ) =
|
|
|
|
+ st : XScreenType.T ) =
|
|
|
|
BEGIN
|
|
|
|
IF sv.hi < VBT.DefaultShape.hi OR sh.hi < VBT.DefaultShape.hi THEN
|
|
|
|
- xhints.flags := X.PMinSize + X.PMaxSize
|
|
|
|
+ xhints.flags := X.PMinSize + X.PMaxSize + X.PResizeInc + X.PBaseSize
|
|
|
|
ELSE
|
|
|
|
- xhints.flags := X.PMinSize
|
|
|
|
- END;
|
|
|
|
- IF userPosition THEN
|
|
|
|
- INC(xhints.flags, X.USPosition + X.USSize)
|
|
|
|
- ELSE
|
|
|
|
- INC(xhints.flags, X.PPosition + X.PSize)
|
|
|
|
+ xhints.flags := X.PMinSize + X.PResizeInc + X.PBaseSize
|
|
|
|
END;
|
|
|
|
+ xhints.base_width := 0;
|
|
|
|
+ xhints.base_height := 0;
|
|
|
|
+ xhints.width_inc := 1;
|
|
|
|
+ xhints.height_inc := 1;
|
|
|
|
xhints.min_width := sh.lo;
|
|
|
|
xhints.max_width :=
|
|
|
|
MAX(MIN(sh.hi - 1, Rect.HorSize(st.rootDom)), sh.lo);
|
|
|
|
@@ -1125,7 +1123,7 @@
|
|
|
|
sh := s[Axis.T.Hor];
|
|
|
|
sv := s[Axis.T.Ver];
|
|
|
|
BEGIN
|
|
|
|
- SetSizeHints(xhints, width, height, sh, sv, st, ur.userPosition);
|
|
|
|
+ SetSizeHints(xhints, width, height, sh, sv, st);
|
|
|
|
TRY
|
|
|
|
Enter(v);
|
|
|
|
TRY
|