- if (ev_metadata_manager_get (uri, "window_width", &width) &&
- ev_metadata_manager_get (uri, "window_height", &height)) {
- gtk_window_set_default_size (GTK_WINDOW (window),
- g_value_get_int (&width),
- g_value_get_int (&height));
+ if (!GTK_WIDGET_VISIBLE (window)) {
+ gboolean restore_size = TRUE;
+
+ if (ev_metadata_manager_get (uri, "window_maximized", &maximized)) {
+ if (g_value_get_boolean (&maximized)) {
+ gtk_window_maximize (GTK_WINDOW (window));
+ restore_size = FALSE;
+ }
+ }
+
+ if (restore_size &&
+ ev_metadata_manager_get (uri, "window_x", &x) &&
+ ev_metadata_manager_get (uri, "window_y", &y) &&
+ ev_metadata_manager_get (uri, "window_width", &width) &&
+ ev_metadata_manager_get (uri, "window_height", &height)) {
+ gtk_window_set_default_size (GTK_WINDOW (window),
+ g_value_get_int (&width),
+ g_value_get_int (&height));
+ gtk_window_move (GTK_WINDOW (window), g_value_get_int (&x),
+ g_value_get_int (&y));
+ }