On Sun, 2001-09-02 at 06:39, Thomas Bütikofer wrote: > Hi, > > could anybody help me to determine the position of a window on the > screen? > I already tried > > GtkWindow* window; > int x,y; > ... > gdk_window_get_root_origin(window,&x,&y); > > but obviously, window is of the wrong type (GtkWindow* instead of > GdkWindow*). You can get the GdkWindow from the gtkWidget structure (widget->window), but I am not sure this is the right interface for it. Anyway, I've attached a program that uses this to give you the position of a window. /mailund -- A computer lets you make more mistakes faster than any invention in human history - with the possible exceptions of handguns and tequila. Mitch Ratcliffe, "Technology Review" (1992)
#include <gtk/gtk.h> static void button_clicked (GtkWidget *button, GtkWidget *win) { int x, y; GdkWindow *gdk_win = win->window; gdk_window_get_root_origin (gdk_win, &x, &y); g_print ("window is at (%d,%d)\n", x, y); } int main (int argc, char *argv[]) { GtkWidget *win; GtkWidget *button; gtk_init (&argc, &argv); win = gtk_window_new (GTK_WINDOW_TOPLEVEL); button = gtk_button_new_with_label ("Send"); gtk_container_add (GTK_CONTAINER (win), button); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (button_clicked), win); gtk_widget_show_all (win); gtk_main (); return 0; }
Attachment:
pgpI2S7GEvoAm.pgp
Description: PGP signature