Window.parseGeometry

Parses a standard X Window System geometry string - see the manual page for X (type “man X”) for details on this. Window.parseGeometry does work on all GTK+ ports including Win32 but is primarily intended for an X environment.

If either a size or a position can be extracted from the geometry string, Window.parseGeometry returns TRUE and calls Window.setDefaultSize and/or Window.move to resize/move the window.

If Window.parseGeometry returns TRUE, it will also set the GDK_HINT_USER_POS and/or GDK_HINT_USER_SIZE hints indicating to the window manager that the size/position of the window was user-specified. This causes most window managers to honor the geometry.

Note that for Window.parseGeometry to work as expected, it has to be called when the window has its “final” size, i.e. after calling Widget.showAll on the contents and Window.setGeometryHints on the window.

[include|include] <gtk/gtk.h>

static void
fill_with_content (GtkWidget *vbox)
{
// fill with content...
}

int
main (int argc, char *argv[])
{
GtkWidget *window, *vbox;
GdkGeometry size_hints = {
100, 50, 0, 0, 100, 50, 10,
10, 0.0, 0.0, GDK_GRAVITY_NORTH_WEST
};

gtk_init (&argc, &argv);

window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);

gtk_container_add (GTK_CONTAINER (window), vbox);
fill_with_content (vbox);
gtk_widget_show_all (vbox);

gtk_window_set_geometry_hints (GTK_WINDOW (window),
NULL,
&size_hints,
GDK_HINT_MIN_SIZE |
GDK_HINT_BASE_SIZE |
GDK_HINT_RESIZE_INC);

if (argc > 1)
{
gboolean res;
res = gtk_window_parse_geometry (GTK_WINDOW (window),
argv[1]);
if (! res)
fprintf (stderr,
"Failed to parse “`s`”\n",
argv[1]);
}

gtk_widget_show_all (window);
gtk_main ();

return 0;
}
More...
class Window
bool
parseGeometry
(
string geometry
)

Parameters

geometry string

geometry string

Return Value

Type: bool

TRUE if string was parsed successfully

Detailed Description

Deprecated: Geometry handling in GTK is deprecated.