From: Sergio Villar SenĂ­n Date: Thu, 11 Feb 2010 11:38:19 +0000 (+0100) Subject: Set the proper screen size of ModestShell window X-Git-Url: http://vcs.maemo.org/git/?p=modest;a=commitdiff_plain;h=eaede3e03ff5e0dfa012c529cfd6c796fa843384 Set the proper screen size of ModestShell window --- diff --git a/src/gtk/modest-shell.c b/src/gtk/modest-shell.c index c506ec6..a9a296e 100644 --- a/src/gtk/modest-shell.c +++ b/src/gtk/modest-shell.c @@ -34,6 +34,10 @@ #include #include #include +#include + +#define SCN_WIDTH 1024 +#define SCN_HEIGHT 600 /* 'private'/'protected' functions */ static void modest_shell_class_init (ModestShellClass *klass); @@ -121,6 +125,26 @@ modest_shell_class_init (ModestShellClass *klass) } static void +set_screen_size (GtkWindow *self) +{ + /* Get screen dimensions */ + Screen *screen = XDefaultScreenOfDisplay(XOpenDisplay(NULL)); + int scn_width = XWidthOfScreen(screen); + int scn_height = XHeightOfScreen(screen); + + /* if screensize is larger than netbook size, show in window, else fullscreen */ + if (scn_width > SCN_WIDTH || scn_height > SCN_HEIGHT) { + scn_width = SCN_WIDTH; + scn_height = SCN_HEIGHT; + gtk_window_resize (self, scn_width, scn_height); + } else { + gtk_window_fullscreen (self); + /* Very important for Moblin */ + gtk_window_set_decorated (self, FALSE); + } +} + +static void modest_shell_instance_init (ModestShell *obj) { ModestShellPrivate *priv; @@ -237,10 +261,7 @@ modest_shell_instance_init (ModestShell *obj) "key-press-event", G_CALLBACK (on_key_pressed), obj); - gtk_window_set_default_size (GTK_WINDOW (obj), - 640, 480); - - + set_screen_size ((GtkWindow *) obj); } static void