Index: src_plugins/hid_gtk/gtkhid-main.c =================================================================== --- src_plugins/hid_gtk/gtkhid-main.c (revision 2259) +++ src_plugins/hid_gtk/gtkhid-main.c (revision 2260) @@ -2008,6 +2008,7 @@ #include "hid_gtk_conf_fields.h" event_bind(EVENT_SAVE_PRE, ghid_conf_save_pre_wgeo, NULL, ghid_cookie); + event_bind(EVENT_LOAD_POST, ghid_conf_load_post_wgeo, NULL, ghid_cookie); return hid_hid_gtk_uninit; } Index: src_plugins/hid_gtk/gui-config.c =================================================================== --- src_plugins/hid_gtk/gui-config.c (revision 2259) +++ src_plugins/hid_gtk/gui-config.c (revision 2260) @@ -144,6 +144,32 @@ } +static int just_loaded(const char *path) +{ + conf_native_t *n = conf_get_field(path); + conf_role_t r; + if ((n == NULL) || (n->used == 0)) + return 0; + r = conf_lookup_role(n->prop[0].src); + return (r == CFR_DESIGN) || (r == CFR_PROJECT); +} + +#define just_loaded_geo(path_prefix) (just_loaded(path_prefix "_width") || just_loaded(path_prefix "_height")) + +void ghid_conf_load_post_wgeo(void *user_data, int argc, event_arg_t * argv[]) +{ + if (just_loaded_geo("plugins/hid_gtk/window_geometry/top")) { + hid_gtk_wgeo.top_width = conf_hid_gtk.plugins.hid_gtk.window_geometry.top_width; + hid_gtk_wgeo.top_height = conf_hid_gtk.plugins.hid_gtk.window_geometry.top_height; +/* printf("Resize top: %d %d\n", hid_gtk_wgeo.top_width, hid_gtk_wgeo.top_height);*/ + gtk_window_resize(GTK_WINDOW(gport->top_window), hid_gtk_wgeo.top_width, hid_gtk_wgeo.top_height); + } + + +} + +#undef just_loaded_geo + RCSID("$Id$"); enum ConfigType { Index: src_plugins/hid_gtk/gui.h =================================================================== --- src_plugins/hid_gtk/gui.h (revision 2259) +++ src_plugins/hid_gtk/gui.h (revision 2260) @@ -209,6 +209,7 @@ void ghid_config_init(void); void ghid_wgeo_save(int save_to_file, int skip_user); void ghid_conf_save_pre_wgeo(void *user_data, int argc, event_arg_t * argv[]); +void ghid_conf_load_post_wgeo(void *user_data, int argc, event_arg_t * argv[]); void ghid_mode_buttons_update(void); void ghid_pack_mode_buttons(void);