-static void
-value_free (GValue *value)
-{
- g_value_unset (value);
- g_free (value);
-}
-
-static GHashTable *
-arguments_parse (void)
-{
- GHashTable *args;
- GValue *value;
- EvWindowRunMode mode;
- GdkScreen *screen;
- GdkDisplay *display;
- const gchar *display_name;
- gint screen_number;
-
- args = g_hash_table_new_full (g_str_hash,
- g_str_equal,
- (GDestroyNotify)g_free,
- (GDestroyNotify)value_free);
-
- screen = gdk_screen_get_default ();
- display = gdk_screen_get_display (screen);
-
- display_name = gdk_display_get_name (display);
- screen_number = gdk_screen_get_number (screen);
-
- value = g_new0 (GValue, 1);
- g_value_init (value, G_TYPE_STRING);
- g_value_set_string (value, display_name);
- g_hash_table_insert (args, g_strdup ("display"), value);
-
- value = g_new0 (GValue, 1);
- g_value_init (value, G_TYPE_INT);
- g_value_set_int (value, screen_number);
- g_hash_table_insert (args, g_strdup ("screen"), value);
-
- if (ev_page_label) {
- value = g_new0 (GValue, 1);
- g_value_init (value, G_TYPE_STRING);
- g_value_set_string (value, ev_page_label);
-
- g_hash_table_insert (args, g_strdup ("page-label"), value);
- }
-
- if (fullscren_mode)
- mode = EV_WINDOW_MODE_FULLSCREEN;
- else if (presentation_mode)
- mode = EV_WINDOW_MODE_PRESENTATION;
- else if (preview_mode)
- mode = EV_WINDOW_MODE_PREVIEW;
- else
- return args;
-
- value = g_new0 (GValue, 1);
- g_value_init (value, G_TYPE_UINT);
- g_value_set_uint (value, mode);
-
- g_hash_table_insert (args, g_strdup ("mode"), value);
-
- return args;
-}
-
-static void
-load_files (const char **files,
- GHashTable *args)