NautilusDesktopLinkMonitor * nautilus_desktop_link_monitor_get (void) { if (the_link_monitor == NULL) { g_object_new (NAUTILUS_TYPE_DESKTOP_LINK_MONITOR, NULL); eel_debug_call_at_shutdown (nautilus_desktop_link_monitor_shutdown); } return the_link_monitor; }
NautilusClipboardMonitor * nautilus_clipboard_monitor_get (void) { GtkClipboard *clipboard; if (clipboard_monitor == NULL) { clipboard_monitor = NAUTILUS_CLIPBOARD_MONITOR (g_object_new (NAUTILUS_TYPE_CLIPBOARD_MONITOR, NULL)); eel_debug_call_at_shutdown (destroy_clipboard_monitor); clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); g_signal_connect (clipboard, "owner-change", G_CALLBACK (nautilus_clipboard_monitor_emit_changed), NULL); } return clipboard_monitor; }
static void update_xdg_dir_cache (void) { GFile *file; char *config_file, *uri; int i; free_xdg_dir_cache (); g_reload_user_special_dirs_cache (); schedule_user_dirs_changed (); desktop_dir_changed (); cached_xdg_dirs = parse_xdg_dirs (NULL); for (i = 0 ; cached_xdg_dirs[i].type != NULL; i++) { cached_xdg_dirs[i].file = NULL; if (strcmp (cached_xdg_dirs[i].path, g_get_home_dir ()) != 0) { uri = g_filename_to_uri (cached_xdg_dirs[i].path, NULL, NULL); cached_xdg_dirs[i].file = caja_file_get_by_uri (uri); caja_file_monitor_add (cached_xdg_dirs[i].file, &cached_xdg_dirs[i], CAJA_FILE_ATTRIBUTE_INFO); g_signal_connect (cached_xdg_dirs[i].file, "changed", G_CALLBACK (xdg_dir_changed), &cached_xdg_dirs[i]); g_free (uri); } } if (cached_xdg_dirs_monitor == NULL) { config_file = g_build_filename (g_get_user_config_dir (), "user-dirs.dirs", NULL); file = g_file_new_for_path (config_file); cached_xdg_dirs_monitor = g_file_monitor_file (file, 0, NULL, NULL); g_signal_connect (cached_xdg_dirs_monitor, "changed", G_CALLBACK (xdg_dir_cache_changed_cb), NULL); g_object_unref (file); g_free (config_file); eel_debug_call_at_shutdown (destroy_xdg_dir_cache); } }
/* Public */ GConfClient * eel_gconf_client_get_global (void) { /* Initialize gconf if needed */ if (!gconf_is_initialized ()) { char *argv[] = { "eel-preferences", NULL }; GError *error = NULL; if (!gconf_init (1, argv, &error)) { if (eel_gconf_handle_error (&error)) { return NULL; } } } if (global_gconf_client == NULL) { global_gconf_client = gconf_client_get_default (); eel_debug_call_at_shutdown (global_client_free); } return global_gconf_client; }