void gtk_window_move ( GtkWindow* window, gint x, gint y )
Asks the [window manager][gtk-X11-arch] to move
window to the given position. Window managers are free to ignore
this; most window managers ignore requests for initial window
positions (instead using a user-defined placement algorithm) and
honor requests after the window has already been shown.
Note: the position is the position of the gravity-determined reference point for the window. The gravity determines two things: first, the location of the reference point in root window coordinates; and second, which point on the window is positioned at the reference point.
By default the gravity is #GDK_GRAVITY_NORTH_WEST, so the reference
point is simply the
y supplied to gtk_window_move(). The
top-left corner of the window decorations (aka window frame or
border) will be placed at
y. Therefore, to position a window
at the top left of the screen, you want to use the default gravity
(which is #GDK_GRAVITY_NORTH_WEST) and move the window to 0,0.
To position a window at the bottom right corner of the screen, you
would set #GDK_GRAVITY_SOUTH_EAST, which means that the reference
point is at
x + the window width and
y + the window height, and
the bottom-right corner of the window border will be placed at that
reference point. So, to place a window in the bottom right corner
you would first set gravity to south east, then write:
gtk_window_move (window, gdk_screen_width () - window_width,
gdk_screen_height () - window_height) (note that this
example does not take multi-head scenarios into account).
The Extended Window Manager Hints Specification has a nice table of gravities in the “implementation notes” section.
gtk_window_get_position() documentation may also be relevant.