diff -Nru xterm-223.orig/charproc.c xterm-223/charproc.c --- xterm-223.orig/charproc.c 2006-11-28 20:45:37.000000000 +0000 +++ xterm-223/charproc.c 2006-12-16 17:38:44.000000000 +0000 @@ -4447,6 +4447,7 @@ TScreen *screen = &xw->screen; XWindowChanges values; XWindowAttributes win_attrs; + XSizeHints hints; XTextProperty text; unsigned value_mask; #if OPT_MAXIMIZE @@ -4591,6 +4592,41 @@ XGetWMName(screen->display, VShellWindow, &text)); break; + case 22: /* change min/max-width/height window attributes */ + if (!QueryMaximize(xw, &root_width, &root_height)) { + root_height = 0; + root_width = 0; + } + + /* I'm just giving then some value, this might be + corrected */ + if ((param[1] <= 10) || (param[1] > root_width)) + hints.min_width = 10; + else + hints.min_width = param[1]; + + if ((param[2] <= 10) || (param[2] > root_height)) + hints.min_height = 10; + else + hints.min_height = param[2]; + + if ((param[3] <= 0) || (param[3] > root_width)) + hints.max_width = root_width; + else + hints.max_width = param[3]; + + if ((param[4] <= 0) || (param[4] > root_height)) + hints.max_height = root_height; + else + hints.max_height = param[4]; + + hints.flags = PMinSize | PMaxSize; + + XSetWMSizeHints(screen->display, + VShellWindow, + &hints, XA_WM_NORMAL_HINTS); + break; + default: /* DECSLPP (24, 25, 36, 48, 72, 144) */ if (param[0] >= 24) RequestResize(xw, param[0], -1, True); diff -Nru xterm-223.orig/ctlseqs.ms xterm-223/ctlseqs.ms --- xterm-223.orig/ctlseqs.ms 2006-08-02 22:46:34.000000000 +0100 +++ xterm-223/ctlseqs.ms 2006-12-16 17:59:48.000000000 +0000 @@ -1053,6 +1053,12 @@ \*(Os\*s\*L\*s\fIlabel\fP\*s\*(ST \*(Ps = \*2\*1 \(-> Report \fIxterm\fP window's title as \*(Os\*s\*l\*s\fItitle\fP\*s\*(ST + \*(Ps = \*2\*2 \(-> Set \fIxterm\fP window's min_width, min_height, max_width, +and max_height respectively. In the case of any of the requested +attribute values is lower than 0, or greater than the actual display size in +pixels, a value of 10 pixels (to be corrected) is given to any offending +value within the min_ group, and display's width or height as per to the +max_ group refers. \*(Ps >= \*2\*4 \(-> Resize to \*(Ps lines (DECSLPP) . .IP \\*(Cs\\*(Pt\\*;\\*(Pl\\*;\\*(Pb\\*;\\*(Pr\\*;\\*(Ps\\*$\\*t