Waits until something modifies a desktop directory, then exits.
https://bugzilla.gnome.org/show_bug.cgi?id=736350
#include <gio/gio.h>
#include <gio/gdesktopappinfo.h>
#include <locale.h>
#include <gio/gio.h>
#include <gio/gdesktopappinfo.h>
#include <locale.h>
static void
print (const gchar *str)
static void
print (const gchar *str)
+static void
+quit (gpointer user_data)
+{
+ g_print ("appinfo database changed.\n");
+ exit (0);
+}
+
int
main (int argc, char **argv)
{
int
main (int argc, char **argv)
{
+ else if (g_str_equal (argv[1], "monitor"))
+ {
+ GAppInfoMonitor *monitor;
+ GAppInfo *info;
+
+ monitor = g_app_info_monitor_get ();
+
+ info = (GAppInfo *) g_desktop_app_info_new ("this-desktop-file-does-not-exist");
+ g_assert (!info);
+
+ g_signal_connect (monitor, "changed", G_CALLBACK (quit), NULL);
+
+ while (1)
+ g_main_context_iteration (NULL, TRUE);
+ }
+