*
* Windows can be almost any width (number has to fit into 16 bits); the virtual
* screen grows with them as needed -- but only horizontally and only up to 2^16
- * cells. Their height is limited by the height of the terminal screen.
+ * cells. Their height is limited by the height of the terminal screen, which
+ * must also fit into 2^16 cells.
*
* Positioning of windows can only indirectly be influenced: by resizing them,
* and by shifting their relative position inside the (currently invisible)
* Functions that return uint8_t return these error codes:
* 0 - success
* 1 - memory allocation error (of ncurses' pads/windows, or scroll hint texts)
- * 2 - activity forces virtual screen to grow beyond width of 2^16 cells
+ * 2 - would force virtual screen to grow beyond width or height of 2^16 cells
*
* TODO: Expose less internals to the API.
*
* and appointing "func"() to interpret and draw the content stored at "data"
* if the window is visible.
*
- * A value for "width" <1 will trigger a fallback to width=1. A "height" < 1 or
- * larger than the maximum window height possible within the virtual screen will
- * trigger a fallback to the maximum height possible (i.e. pass a "height" of 0
- * to initialize the window to its largest possible height).
+ * Pass 0 for "width" to make the window as wide as the terminal screen. Pass
+ * for "height" 0 or a value larger than the maximum window height possible
+ * within the virtual screen to attain that maximum window height.
*
* Other members of the Win struct are initialized to 0. The window will stay
* invisible until appended to the chain of visible windows via append_win().