[Xfce4-commits] [xfce/exo] 01/01: Add a query mechanism to determine the preferred application (Bug #8579)
noreply at xfce.org
noreply at xfce.org
Fri Jun 16 05:23:49 CEST 2017
This is an automated email from the git hooks/post-receive script.
b l u e s a b r e p u s h e d a c o m m i t t o b r a n c h m a s t e r
in repository xfce/exo.
commit e9fb7651e209862b2821db5ed8e73075bf8f05d4
Author: Stephan Arts <stephan at xfce.org>
Date: Thu Jun 15 23:23:43 2017 -0400
Add a query mechanism to determine the preferred application (Bug #8579)
---
exo-helper/main.c | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/exo-helper/main.c b/exo-helper/main.c
index 8f69b68..baa440f 100644
--- a/exo-helper/main.c
+++ b/exo-helper/main.c
@@ -63,6 +63,7 @@ main (int argc, char **argv)
gboolean opt_version = FALSE;
gboolean opt_configure = FALSE;
gchar *opt_launch_type = NULL;
+ gchar *opt_query_type = NULL;
Window opt_socket_id = 0;
GOptionContext *opt_ctx;
@@ -72,6 +73,7 @@ main (int argc, char **argv)
{ "configure", 'c', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE, &opt_configure, N_("Open the Preferred Applications\nconfiguration dialog"), NULL, },
{ "socket-id", 's', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_INT, &opt_socket_id, N_("Settings manager socket"), N_("SOCKET ID"), },
{ "launch", 'l', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_STRING, &opt_launch_type, N_("Launch the default helper of TYPE with the optional PARAMETER, where TYPE is one of the following values."), N_("TYPE [PARAMETER]"), },
+ { "query", 'q', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_STRING, &opt_query_type, N_("Query the default helper of TYPE, where TYPE is one of the following values."), N_("TYPE [PARAMETER]"), },
{ NULL, },
};
@@ -100,7 +102,7 @@ main (int argc, char **argv)
* not accept localized TYPEs.
*/
g_option_context_set_description (opt_ctx,
- _("The following TYPEs are supported for the --launch command:\n\n"
+ _("The following TYPEs are supported for the --launch and --query commands:\n\n"
" WebBrowser - The preferred Web Browser.\n"
" MailReader - The preferred Mail Reader.\n"
" FileManager - The preferred File Manager.\n"
@@ -230,6 +232,27 @@ main (int argc, char **argv)
gtk_major_version, gtk_minor_version, gtk_micro_version,
PACKAGE_BUGREPORT);
}
+ else if (opt_query_type != NULL)
+ {
+ /* try to parse the type */
+ if (!exo_helper_category_from_string (opt_query_type, &category))
+ {
+ g_warning (_("Invalid helper type \"%s\""), opt_query_type);
+ return EXIT_FAILURE;
+ }
+
+ /* determine the default helper for the category */
+ database = exo_helper_database_get ();
+ helper = exo_helper_database_get_default (database, category);
+
+ if (G_UNLIKELY (helper == NULL))
+ {
+ g_printerr (_("No helper defined for \"%s\"."), opt_launch_type);
+ return EXIT_FAILURE;
+ }
+
+ g_print ("%s\n", exo_helper_get_id (helper));
+ }
else
{
result = EXIT_FAILURE;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list