【GTK】如何得到控件的位置
不同的情况对应有不同的解决的办法.
如果你想得到一个控件相对于它的父窗口的位置,你需要使用widget->allocation.x 和 widget->allocation.y.
如果你想的到一个窗口相对于X主窗口(X root window)的位置,
你应该使用gdk_window_get_geometry()
gdk_window_get_position()
或者 gdk_window_get_origin().
如果你想得到一个窗口(包括WM修饰的窗口)的位置,应该使用gdk_window_get_root_origin().
最后但不是不重要,如果你想得到窗口管理器的位置,你应该使用gdk_window_get_deskrelative_origin().
你选择的窗口管理器(Window Manager)将可能影响上面函数的结果,在写你的程序的时候,你应该记住这一点.这主要是决定于窗口管理器如何管理对窗口添加的修饰.