6 my_cmdline_handler (gpointer data)
8 GApplicationCommandLine *cmdline = data;
13 argv = g_application_command_line_get_arguments (cmdline, &argc);
15 g_application_command_line_print (cmdline,
16 "This text is written back\n"
17 "to stdout of the caller\n");
19 for (i = 0; i < argc; i++)
20 g_print ("argument %d: %s\n", i, argv[i]);
24 g_application_command_line_set_exit_status (cmdline, 1);
26 /* we are done handling this commandline */
27 g_object_unref (cmdline);
33 command_line (GApplication *application,
34 GApplicationCommandLine *cmdline)
36 /* keep the application running until we are done with this commandline */
37 g_application_hold (application);
39 g_object_set_data_full (G_OBJECT (cmdline),
40 "application", application,
41 (GDestroyNotify)g_application_release);
43 g_object_ref (cmdline);
44 g_idle_add (my_cmdline_handler, cmdline);
50 main (int argc, char **argv)
55 app = g_application_new ("org.gtk.TestApplication",
56 G_APPLICATION_HANDLES_COMMAND_LINE);
57 g_signal_connect (app, "command-line", G_CALLBACK (command_line), NULL);
58 g_application_set_inactivity_timeout (app, 10000);
60 status = g_application_run (app, argc, argv);