extensions-tool: Add common option to silence errors
Error reporting is useful when used interactively, but often undesirable when used in scripts. Account for that with a common --quiet option, which is more convenient than redirection stderr to /dev/null. https://gitlab.gnome.org/GNOME/gnome-shell/issues/2391
This commit is contained in:
parent
fbd6beea2c
commit
f5a170ce46
@ -42,6 +42,13 @@ DESCRIPTION
|
|||||||
*gnome-extensions* is a utility that makes some common GNOME extensions
|
*gnome-extensions* is a utility that makes some common GNOME extensions
|
||||||
operations available on the command line.
|
operations available on the command line.
|
||||||
|
|
||||||
|
COMMON OPTIONS
|
||||||
|
--------------
|
||||||
|
All commands except for *help* and *version* handle the following options:
|
||||||
|
|
||||||
|
*--quiet*, *-q*::
|
||||||
|
Do not print error messages
|
||||||
|
|
||||||
COMMANDS
|
COMMANDS
|
||||||
--------
|
--------
|
||||||
*help* ['COMMAND']::
|
*help* ['COMMAND']::
|
||||||
|
@ -262,6 +262,7 @@ handle_create (int argc, char *argv[], gboolean do_help)
|
|||||||
g_option_context_set_help_enabled (context, FALSE);
|
g_option_context_set_help_enabled (context, FALSE);
|
||||||
g_option_context_set_summary (context, _("Create a new extension"));
|
g_option_context_set_summary (context, _("Create a new extension"));
|
||||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||||
|
g_option_context_add_group (context, get_option_group ());
|
||||||
|
|
||||||
if (do_help)
|
if (do_help)
|
||||||
{
|
{
|
||||||
|
@ -56,6 +56,7 @@ handle_disable (int argc, char *argv[], gboolean do_help)
|
|||||||
g_option_context_set_help_enabled (context, FALSE);
|
g_option_context_set_help_enabled (context, FALSE);
|
||||||
g_option_context_set_summary (context, _("Disable an extension"));
|
g_option_context_set_summary (context, _("Disable an extension"));
|
||||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||||
|
g_option_context_add_group (context, get_option_group());
|
||||||
|
|
||||||
if (do_help)
|
if (do_help)
|
||||||
{
|
{
|
||||||
|
@ -56,6 +56,7 @@ handle_enable (int argc, char *argv[], gboolean do_help)
|
|||||||
g_option_context_set_help_enabled (context, FALSE);
|
g_option_context_set_help_enabled (context, FALSE);
|
||||||
g_option_context_set_summary (context, _("Enable an extension"));
|
g_option_context_set_summary (context, _("Enable an extension"));
|
||||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||||
|
g_option_context_add_group (context, get_option_group());
|
||||||
|
|
||||||
if (do_help)
|
if (do_help)
|
||||||
{
|
{
|
||||||
|
@ -78,6 +78,7 @@ handle_info (int argc, char *argv[], gboolean do_help)
|
|||||||
g_option_context_set_help_enabled (context, FALSE);
|
g_option_context_set_help_enabled (context, FALSE);
|
||||||
g_option_context_set_summary (context, _("Show extensions info"));
|
g_option_context_set_summary (context, _("Show extensions info"));
|
||||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||||
|
g_option_context_add_group (context, get_option_group());
|
||||||
|
|
||||||
if (do_help)
|
if (do_help)
|
||||||
{
|
{
|
||||||
|
@ -183,6 +183,7 @@ handle_install (int argc, char *argv[], gboolean do_help)
|
|||||||
g_option_context_set_help_enabled (context, FALSE);
|
g_option_context_set_help_enabled (context, FALSE);
|
||||||
g_option_context_set_summary (context, _("Install an extension bundle"));
|
g_option_context_set_summary (context, _("Install an extension bundle"));
|
||||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||||
|
g_option_context_add_group (context, get_option_group());
|
||||||
|
|
||||||
if (do_help)
|
if (do_help)
|
||||||
{
|
{
|
||||||
|
@ -150,6 +150,7 @@ handle_list (int argc, char *argv[], gboolean do_help)
|
|||||||
g_option_context_set_help_enabled (context, FALSE);
|
g_option_context_set_help_enabled (context, FALSE);
|
||||||
g_option_context_set_summary (context, _("List installed extensions"));
|
g_option_context_set_summary (context, _("List installed extensions"));
|
||||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||||
|
g_option_context_add_group (context, get_option_group());
|
||||||
|
|
||||||
if (do_help)
|
if (do_help)
|
||||||
{
|
{
|
||||||
|
@ -480,6 +480,7 @@ handle_pack (int argc, char *argv[], gboolean do_help)
|
|||||||
g_option_context_set_help_enabled (context, FALSE);
|
g_option_context_set_help_enabled (context, FALSE);
|
||||||
g_option_context_set_summary (context, _("Create an extension bundle"));
|
g_option_context_set_summary (context, _("Create an extension bundle"));
|
||||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||||
|
g_option_context_add_group (context, get_option_group());
|
||||||
|
|
||||||
if (do_help)
|
if (do_help)
|
||||||
{
|
{
|
||||||
|
@ -89,6 +89,7 @@ handle_prefs (int argc, char *argv[], gboolean do_help)
|
|||||||
g_option_context_set_help_enabled (context, FALSE);
|
g_option_context_set_help_enabled (context, FALSE);
|
||||||
g_option_context_set_summary (context, _("Opens extension preferences"));
|
g_option_context_set_summary (context, _("Opens extension preferences"));
|
||||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||||
|
g_option_context_add_group (context, get_option_group());
|
||||||
|
|
||||||
if (do_help)
|
if (do_help)
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
/* command-reset.c
|
/* command-reset.c
|
||||||
|
g_option_context_add_group (context, get_option_group());
|
||||||
*
|
*
|
||||||
* Copyright 2019 Florian Müllner <fmuellner@gnome.org>
|
* Copyright 2019 Florian Müllner <fmuellner@gnome.org>
|
||||||
*
|
*
|
||||||
@ -56,6 +57,7 @@ handle_reset (int argc, char *argv[], gboolean do_help)
|
|||||||
g_option_context_set_help_enabled (context, FALSE);
|
g_option_context_set_help_enabled (context, FALSE);
|
||||||
g_option_context_set_summary (context, _("Reset an extension"));
|
g_option_context_set_summary (context, _("Reset an extension"));
|
||||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||||
|
g_option_context_add_group (context, get_option_group());
|
||||||
|
|
||||||
if (do_help)
|
if (do_help)
|
||||||
{
|
{
|
||||||
|
@ -71,6 +71,7 @@ handle_uninstall (int argc, char *argv[], gboolean do_help)
|
|||||||
g_option_context_set_help_enabled (context, FALSE);
|
g_option_context_set_help_enabled (context, FALSE);
|
||||||
g_option_context_set_summary (context, _("Uninstall an extension"));
|
g_option_context_set_summary (context, _("Uninstall an extension"));
|
||||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||||
|
g_option_context_add_group (context, get_option_group());
|
||||||
|
|
||||||
if (do_help)
|
if (do_help)
|
||||||
{
|
{
|
||||||
|
@ -45,6 +45,8 @@ typedef enum {
|
|||||||
DISPLAY_DETAILED
|
DISPLAY_DETAILED
|
||||||
} DisplayFormat;
|
} DisplayFormat;
|
||||||
|
|
||||||
|
GOptionGroup *get_option_group (void);
|
||||||
|
|
||||||
void show_help (GOptionContext *context,
|
void show_help (GOptionContext *context,
|
||||||
const char *message);
|
const char *message);
|
||||||
|
|
||||||
|
@ -49,6 +49,39 @@ extension_state_to_string (ExtensionState state)
|
|||||||
return "UNKNOWN";
|
return "UNKNOWN";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
print_nothing (const char *message)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
quiet_cb (const gchar *option_name,
|
||||||
|
const gchar *value,
|
||||||
|
gpointer data,
|
||||||
|
GError **error)
|
||||||
|
{
|
||||||
|
g_set_printerr_handler (print_nothing);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
GOptionGroup *
|
||||||
|
get_option_group ()
|
||||||
|
{
|
||||||
|
GOptionEntry entries[] = {
|
||||||
|
{ .long_name = "quiet", .short_name = 'q',
|
||||||
|
.description = _("Do not print error messages"),
|
||||||
|
.arg = G_OPTION_ARG_CALLBACK, .arg_data = &quiet_cb,
|
||||||
|
.flags = G_OPTION_FLAG_NO_ARG | G_OPTION_FLAG_IN_MAIN },
|
||||||
|
{ NULL }
|
||||||
|
};
|
||||||
|
GOptionGroup *group;
|
||||||
|
|
||||||
|
group = g_option_group_new ("Common", "common options", "common options", NULL, NULL);
|
||||||
|
g_option_group_add_entries (group, entries);
|
||||||
|
|
||||||
|
return group;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
show_help (GOptionContext *context, const char *message)
|
show_help (GOptionContext *context, const char *message)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user