WM_NORMAL_HINTS
The ICCCM property through which an X program tells the window manager how big it wants to be: minimum and maximum size, resize increments, aspect ratio, and whether the size came from the user or the program.
The property is set on the top-level window with XSetWMNormalHints in Xlib and holds an XSizeHints structure. Flags say which fields are filled in. PMinSize and PMaxSize set bounds, and equal values give a window that cannot be resized at all, like a dialog. PResizeInc sets increments, which is why an xterm only grows in whole characters and the window manager shows "80x24" while you drag. PAspect locks the proportions, PBaseSize is the fixed part the increments are counted from, and PWinGravity says which corner stays put; see gravity. Two pairs of flags record who decided: USPosition and USSize mean the user supplied the value, typically with -geometry, and it should be honoured, while PPosition and PSize are merely the program's suggestion.
It is one of the few places where the ICCCM gives the window manager a direct order, and most of them obey. xprop will show the hints on any window. When Wayland redrew everything, xdg_toplevel got minimum and maximum sizes but neither increments nor aspect ratios, which terminal users still point out.