- 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);
-
- g_free (ev_page_label);
- ev_page_label = NULL;
- }
-
- if (ev_find_string) {
- value = g_new0 (GValue, 1);
- g_value_init (value, G_TYPE_STRING);
- g_value_set_string (value, ev_find_string);
-
- g_hash_table_insert (args, g_strdup ("find-string"), value);
-
- g_free (ev_find_string);
- ev_page_label = NULL;
- }
-
- if (fullscreen_mode)
- mode = EV_WINDOW_MODE_FULLSCREEN;
- else if (presentation_mode)
- mode = EV_WINDOW_MODE_PRESENTATION;
- else
- return args;