int
main (int argc, char **argv)
{
	CajaDirectory *directory;
	CajaQuery *query;
	client1 = g_new0 (int, 1);
	client2 = g_new0 (int, 1);

	gtk_init (&argc, &argv);

	query = caja_query_new ();
	caja_query_set_text (query, "richard hult");
	directory = caja_directory_get_by_uri ("x-caja-search://0/");
	caja_search_directory_set_query (CAJA_SEARCH_DIRECTORY (directory), query);
	g_object_unref (query);

	g_signal_connect (directory, "files-added", G_CALLBACK (files_added), NULL);
	g_signal_connect (directory, "files-changed", G_CALLBACK (files_changed), NULL);
	g_signal_connect (directory, "done-loading", G_CALLBACK (done_loading), NULL);
	caja_directory_file_monitor_add (directory, client1, TRUE,
					     CAJA_FILE_ATTRIBUTE_INFO, 
					     NULL, NULL);


	gtk_main ();
	return 0;
}
static void
update_desktop_directory (CajaDesktopDirectory *desktop)
{
    char *desktop_path;
    char *desktop_uri;
    CajaDirectory *real_directory;

    real_directory = desktop->details->real_directory;
    if (real_directory != NULL)
    {
        g_hash_table_foreach_remove (desktop->details->callbacks, (GHRFunc) gtk_true, NULL);
        g_hash_table_foreach_remove (desktop->details->monitors, (GHRFunc) gtk_true, NULL);

        g_signal_handlers_disconnect_by_func (real_directory, done_loading_callback, desktop);
        g_signal_handlers_disconnect_by_func (real_directory, forward_files_added_cover, desktop);
        g_signal_handlers_disconnect_by_func (real_directory, forward_files_changed_cover, desktop);

        caja_directory_unref (real_directory);
    }

    desktop_path = caja_get_desktop_directory ();
    desktop_uri = g_filename_to_uri (desktop_path, NULL, NULL);
    real_directory = caja_directory_get_by_uri (desktop_uri);
    g_free (desktop_uri);
    g_free (desktop_path);

    g_signal_connect_object (real_directory, "done_loading",
                             G_CALLBACK (done_loading_callback), desktop, 0);
    g_signal_connect_object (real_directory, "files_added",
                             G_CALLBACK (forward_files_added_cover), desktop, 0);
    g_signal_connect_object (real_directory, "files_changed",
                             G_CALLBACK (forward_files_changed_cover), desktop, 0);

    desktop->details->real_directory = real_directory;
}