将GTK窗口放在屏幕的一角

时间:2013-02-16 10:28:33

标签: c window positioning gtk2

我正在使用GTK在C中编写一个相对简单的消息传递程序,并希望将我的消息查看窗口放在屏幕的特定角落,这样就可以了。

文档列出了一个函数gtk_window_set_gravity,它指定了窗口的坐标相对于哪个角,并通过gtk_window_move跟踪其他信息,发现以下代码将窗口放在底部 - 屏幕的右上角,忽略多头场景

gtk_window_set_gravity(GTK_WINDOW(win), GDK_GRAVITY_SOUTH_EAST);
gtk_window_move(GTK_WINDOW(win), gdk_screen_width() - window_width, gdk_screen_height() - window_height);

我非常喜欢使用GTK,甚至更喜欢直接使用GTK界面(改为使用PyGTK),所以我甚至不知道从哪里开始看。

1 个答案:

答案 0 :(得分:1)

原来可以在GDK中找到这个问题的答案,而不是GTK。

以下代码是我设法弄清楚的:

GdkDisplay *display = gdk_display_get_default();
// 0 for the first screen, as we're only concerned about the first one
GdkScreen *screen = gdk_display_get_screen(display, 0);
screen_width = gdk_screen_get_width(screen);
screen_height = gdk_screen_get_height(screen);

请注意,如果您对第一个以外的任何屏幕感兴趣,则需要使用gdk_display_get_n_screens(display)函数调用来确定屏幕数。

供参考,请查看GdkDisplayGdkScreenmulti-heading的文档。

相关问题