- psppire_conf_set_int (conf, base, "height", event->height);
- psppire_conf_set_int (conf, base, "width", event->width);
+ switch (e->type)
+ {
+ case GDK_CONFIGURE:
+ {
+ GdkEventConfigure *event = &e->configure;
+
+ if ( gdk_window_get_state (event->window) &
+ GDK_WINDOW_STATE_MAXIMIZED )
+ return;
+
+ psppire_conf_set_int (conf, base, "height", event->height);
+ psppire_conf_set_int (conf, base, "width", event->width);
+
+ psppire_conf_set_int (conf, base, "x", event->x);
+ psppire_conf_set_int (conf, base, "y", event->y);
+ }
+ break;
+ case GDK_WINDOW_STATE:
+ {
+ GdkEventWindowState *event = &e->window_state;
+
+ psppire_conf_set_boolean (conf, base, "maximize",
+ event->new_window_state &
+ GDK_WINDOW_STATE_MAXIMIZED );
+ }
+ break;
+ default:
+ break;
+ };