package: cdebconf-gtk-udeb severity: wishlist tags: patch
GTK frontend has currently a fixed size 800x600, but on some machines (especially PPCs) the framebuffer device has a fixed size which is greater than 800x600, resulting in a ugly frame around the installer.
This patch takes care of making the frontend going "fullscreen". Attilio
--- gtk.c 2006-12-05 12:56:44.000000000 +0100 +++ gtk.c.fullscreen 2006-12-05 13:02:00.000000000 +0100 @@ -57,9 +57,6 @@ #include <directfb.h> #endif -#define WINDOW_WIDTH 800 -#define WINDOW_HEIGHT 600 - /* maximum length for string questions */ #define STRING_MAX_LENGTH 128 @@ -67,6 +64,7 @@ #define PROGRESSBAR_HPADDING 60 #define PROGRESSBAR_VPADDING 60 +int screen_width, screen_height; typedef int (gtk_handler)(struct frontend *obj, struct question *q, GtkWidget *questionbox); static GCond *button_cond = NULL; @@ -245,7 +243,7 @@ pango_layout_set_font_description(layout, pango_font_description_from_string("Sans 12")); pango_layout_get_pixel_size(layout, &w, &h); /* obj->info is drawn over the debian banner, top-right corner of the screen */ - gdk_draw_layout(wid->window, gdk_gc_new(wid->window), WINDOW_WIDTH - w - 4, 4, layout); + gdk_draw_layout(wid->window, gdk_gc_new(wid->window), screen_width - w - 4, 4, layout); free(message); } free(text); @@ -1445,8 +1443,10 @@ gtk_init (&args, &name); + screen_width = gdk_screen_get_width (gdk_screen_get_default ()); + screen_height = gdk_screen_get_height (gdk_screen_get_default ()); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_widget_set_size_request (window, WINDOW_WIDTH, WINDOW_HEIGHT); + gtk_widget_set_size_request (window, screen_width, screen_height); gtk_window_set_resizable (GTK_WINDOW (window), TRUE); gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER); gtk_window_set_decorated (GTK_WINDOW (window), TRUE);