diff options
author | Sergey V. Udaltsov <svu@src.gnome.org> | 2008-05-10 20:05:37 +0000 |
---|---|---|
committer | Sergey V. Udaltsov <svu@src.gnome.org> | 2008-05-10 20:05:37 +0000 |
commit | fa12f94e1cd57f0d2a3c1da970f1fd2d08185018 (patch) | |
tree | 811b79e53d8f62e6cdaf166ffab66d6d35ef067b /libgnomekbd/gkbd-util.c | |
parent | 03cd2cd40c480d779a113ca954fb2c9ea48a9d3c (diff) | |
download | libgnomekbd-fa12f94e1cd57f0d2a3c1da970f1fd2d08185018.tar.gz |
making default size dependent on the screen size, b.g.o#481118
svn path=/trunk/; revision=275
Diffstat (limited to 'libgnomekbd/gkbd-util.c')
-rw-r--r-- | libgnomekbd/gkbd-util.c | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/libgnomekbd/gkbd-util.c b/libgnomekbd/gkbd-util.c index d7779b7..a0033c5 100644 --- a/libgnomekbd/gkbd-util.c +++ b/libgnomekbd/gkbd-util.c @@ -112,15 +112,25 @@ gkbd_preview_load_position (void) g_object_unref (G_OBJECT (conf_client)); - // default values should be just ignored - if (x == -1 || y == -1 || w == -1 || h == -1) - return NULL; - rv = g_new (GdkRectangle, 1); - rv->x = x; - rv->y = y; - rv->width = w; - rv->height = h; + if (x == -1 || y == -1 || w == -1 || h == -1) { + /* default values should be treated as + * "0.75 of the screen size" */ + GdkScreen *scr = gdk_screen_get_default (); + gint w = gdk_screen_get_width (scr); + gint h = gdk_screen_get_height (scr); + rv->x = w >> 3; + rv->y = h >> 3; + rv->width = w - (w >> 2); + rv->height = h - (h >> 2); + } else { + rv->x = x; + rv->y = y; + rv->width = w; + rv->height = h; + } + printf ("rect: %d, %d (%dx%d)\n", rv->x, rv->y, rv->width, + rv->height); return rv; } |