notify-send: Support passing any hint value, by parsing variant strings
This commit is contained in:
parent
d6f4734adf
commit
02f2f91c3d
|
@ -101,7 +101,7 @@
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><option>-h</option>, <option>--hint</option>=<replaceable>TYPE</replaceable>:<replaceable>NAME</replaceable>:<replaceable>VALUE</replaceable> </term>
|
<term><option>-h</option>, <option>--hint</option>=<replaceable>TYPE</replaceable>:<replaceable>NAME</replaceable>:<replaceable>VALUE</replaceable> </term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Specifies basic extra data to pass. Valid types are <literal>BOOLEAN</literal>, <literal>INT</literal>, <literal>DOUBLE</literal>, <literal>STRING</literal> and <literal>BYTE</literal>.</para>
|
<para>Specifies basic extra data to pass. Valid types are <literal>BOOLEAN</literal>, <literal>INT</literal>, <literal>DOUBLE</literal>, <literal>STRING</literal>, <literal>BYTE</literal> and <literal>VARIANT</literal>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
|
|
|
@ -111,6 +111,15 @@ notify_notification_set_hint_variant (NotifyNotification *notification,
|
||||||
|
|
||||||
notify_notification_set_hint (notification, key,
|
notify_notification_set_hint (notification, key,
|
||||||
g_variant_new_boolean (h_boolean));
|
g_variant_new_boolean (h_boolean));
|
||||||
|
} else if (g_ascii_strcasecmp (type, "variant") == 0) {
|
||||||
|
GVariant *variant = g_variant_parse (NULL, value, NULL, NULL, NULL);
|
||||||
|
|
||||||
|
if (variant != NULL) {
|
||||||
|
notify_notification_set_hint (notification, key, variant);
|
||||||
|
} else {
|
||||||
|
conv_error = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
*error = g_error_new (G_OPTION_ERROR,
|
*error = g_error_new (G_OPTION_ERROR,
|
||||||
G_OPTION_ERROR_BAD_VALUE,
|
G_OPTION_ERROR_BAD_VALUE,
|
||||||
|
@ -208,7 +217,7 @@ main (int argc, char *argv[])
|
||||||
N_("TYPE[,TYPE...]")},
|
N_("TYPE[,TYPE...]")},
|
||||||
{"hint", 'h', 0, G_OPTION_ARG_FILENAME_ARRAY, &hints,
|
{"hint", 'h', 0, G_OPTION_ARG_FILENAME_ARRAY, &hints,
|
||||||
N_
|
N_
|
||||||
("Specifies basic extra data to pass. Valid types are boolean, int, double, string and byte."),
|
("Specifies basic extra data to pass. Valid types are boolean, int, double, string, byte and variant."),
|
||||||
N_("TYPE:NAME:VALUE")},
|
N_("TYPE:NAME:VALUE")},
|
||||||
{"print-id", 'p', 0, G_OPTION_ARG_NONE, &print_id,
|
{"print-id", 'p', 0, G_OPTION_ARG_NONE, &print_id,
|
||||||
N_ ("Print the notification ID."), NULL},
|
N_ ("Print the notification ID."), NULL},
|
||||||
|
|
Loading…
Reference in New Issue