diff options
-rw-r--r-- | src/tools/marco-window-demo.c | 17 | ||||
-rw-r--r-- | src/ui/menu.c | 8 | ||||
-rw-r--r-- | src/wm-tester/main.c | 10 |
3 files changed, 25 insertions, 10 deletions
diff --git a/src/tools/marco-window-demo.c b/src/tools/marco-window-demo.c index ce4f3f73..97fdd31e 100644 --- a/src/tools/marco-window-demo.c +++ b/src/tools/marco-window-demo.c @@ -559,6 +559,8 @@ make_dock (int type) GtkWidget *image; GtkWidget *box; GtkWidget *button; + int sc_width; + int sc_height; g_return_if_fail (type != DOCK_ALL); @@ -593,6 +595,9 @@ make_dock (int type) gtk_container_add (GTK_CONTAINER (window), box); + gdk_window_get_geometry (gdk_screen_get_root_window (gdk_screen_get_default()), + NULL, NULL, &sc_width, &sc_height); + #define DOCK_SIZE 48 switch (type) { @@ -604,7 +609,7 @@ make_dock (int type) break; case DOCK_RIGHT: gtk_widget_set_size_request (window, DOCK_SIZE, 400); - gtk_window_move (GTK_WINDOW (window), gdk_screen_width () - DOCK_SIZE, 200); + gtk_window_move (GTK_WINDOW (window), sc_width - DOCK_SIZE, 200); set_gtk_window_struts (window, 0, DOCK_SIZE, 0, 0); gtk_window_set_title (GTK_WINDOW (window), "RightDock"); break; @@ -616,7 +621,7 @@ make_dock (int type) break; case DOCK_BOTTOM: gtk_widget_set_size_request (window, 600, DOCK_SIZE); - gtk_window_move (GTK_WINDOW (window), 200, gdk_screen_height () - DOCK_SIZE); + gtk_window_move (GTK_WINDOW (window), 200, sc_height - DOCK_SIZE); set_gtk_window_struts (window, 0, 0, 0, DOCK_SIZE); gtk_window_set_title (GTK_WINDOW (window), "BottomDock"); break; @@ -693,12 +698,16 @@ desktop_cb (GSimpleAction *action, GtkWidget *window; GtkWidget *label; GdkRGBA desktop_color; + int sc_width; + int sc_height; + + gdk_window_get_geometry (gdk_screen_get_root_window (gdk_screen_get_default()), + NULL, NULL, &sc_width, &sc_height); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); set_gtk_window_type (GTK_WINDOW (window), "_NET_WM_WINDOW_TYPE_DESKTOP"); gtk_window_set_title (GTK_WINDOW (window), "Desktop"); - gtk_widget_set_size_request (window, - gdk_screen_width (), gdk_screen_height ()); + gtk_widget_set_size_request (window, sc_width, sc_height); gtk_window_move (GTK_WINDOW (window), 0, 0); desktop_color.red = 0.32; diff --git a/src/ui/menu.c b/src/ui/menu.c index 58ed1704..d066ffcb 100644 --- a/src/ui/menu.c +++ b/src/ui/menu.c @@ -103,6 +103,7 @@ static void popup_position_func(GtkMenu* menu, gint* x, gint* y, gboolean* push_ { GtkRequisition req; GdkPoint* pos; + int sc_width, sc_height; pos = user_data; @@ -116,9 +117,12 @@ static void popup_position_func(GtkMenu* menu, gint* x, gint* y, gboolean* push_ *x = MAX (0, *x - req.width); } + gdk_window_get_geometry (gdk_screen_get_root_window (gdk_screen_get_default()), + NULL, NULL, &sc_width, &sc_height); + /* Ensure onscreen */ - *x = CLAMP (*x, 0, MAX(0, gdk_screen_width() - req.width)); - *y = CLAMP (*y, 0, MAX(0, gdk_screen_height() - req.height)); + *x = CLAMP (*x, 0, MAX(0, sc_width - req.width)); + *y = CLAMP (*y, 0, MAX(0, sc_height - req.height)); } static void menu_closed(GtkMenu* widget, gpointer data) diff --git a/src/wm-tester/main.c b/src/wm-tester/main.c index 5a700955..b1cfac6f 100644 --- a/src/wm-tester/main.c +++ b/src/wm-tester/main.c @@ -117,14 +117,16 @@ evil_timeout (gpointer data) GtkWidget *c; int t; GtkWidget *parent; + int sc_width, sc_height; + + gdk_window_get_geometry (gdk_screen_get_root_window (gdk_screen_get_default()), + NULL, NULL, &sc_width, &sc_height); w = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_move (GTK_WINDOW (w), - g_random_int_range (0, - gdk_screen_width ()), - g_random_int_range (0, - gdk_screen_height ())); + g_random_int_range (0, sc_width), + g_random_int_range (0, sc_height)); parent = NULL; |