set_default_size

Description:

If the window’s “natural” size (its size request) is larger than the default, the default will be ignored. More generally, if the
default size does not obey the geometry hints for the window (
set_geometry_hints can be used to set these explicitly), the default size will be clamped to the nearest permitted size.

Unlike set_size_request, which sets a size request for a widget and
thus would keep users from shrinking the window, this function only sets the initial size, just as if the user had resized the window
themselves. Users can still shrink the window again as they normally would. Setting a default size of -1 means to use the “natural” default
size (the size request of the window).

For more control over a window’s initial size and how resizing works, investigate
set_geometry_hints.

For some uses, resize is a more appropriate function.
resize changes the current size of the window, rather than the size to be used on
initial display. resize always affects the window itself, not the geometry widget.

The default size of a window only affects the first time a window is shown; if a window is hidden and re-shown, it will remember the size it
had prior to hiding, rather than using the default size.

Windows can’t actually be 0x0 in size, they must be at least 1x1, but passing 0 for width and height is OK,
resulting in a 1x1 default size.

If you use this function to reestablish a previously saved window size, note that the appropriate size to save is the one returned by
get_size. Using the window allocation directly will not work in all
circumstances and can lead to growing or shrinking windows.