mirror of
https://github.com/profanity-im/profanity.git
synced 2024-09-22 19:45:54 -04:00
use '*' to set a default executable
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
This commit is contained in:
parent
e96678e6a5
commit
274e695320
@ -2472,15 +2472,15 @@ static struct cmd_t command_defs[] =
|
|||||||
CMD_TAG_DISCOVERY)
|
CMD_TAG_DISCOVERY)
|
||||||
CMD_SYN(
|
CMD_SYN(
|
||||||
"/executable avatar <cmd>",
|
"/executable avatar <cmd>",
|
||||||
"/executable urlopen <fileType> <require_save> <cmd>",
|
"/executable urlopen (<fileType>|*) <require_save> <cmd>",
|
||||||
"/executable urlsave <protocol> <cmd>")
|
"/executable urlsave (<protocol>|*) <cmd>")
|
||||||
CMD_DESC(
|
CMD_DESC(
|
||||||
"Configure executable that should be called upon a certain command."
|
"Configure executable that should be called upon a certain command."
|
||||||
"Default is xdg-open.")
|
"Default is xdg-open.")
|
||||||
CMD_ARGS(
|
CMD_ARGS(
|
||||||
{ "avatar", "Set executable that is run in /avatar open. Use your favourite image viewer." },
|
{ "avatar", "Set executable that is run in /avatar open. Use your favourite image viewer." },
|
||||||
{ "urlopen", "Set executable that is run in /url open for a given file type. It may be your favorite browser or a specific viewer." },
|
{ "urlopen", "Set executable that is run in /url open for a given file type. It may be your favorite browser or a specific viewer. Use * to set default command for undefined file type." },
|
||||||
{ "urlsave", "Set executable that is run in /url save for a given protocol. Use your favourite downloader."})
|
{ "urlsave", "Set executable that is run in /url save for a given protocol. Use your favourite downloader. Use * to set default command for undefined protocol."})
|
||||||
CMD_EXAMPLES(
|
CMD_EXAMPLES(
|
||||||
"/executable avatar xdg-open",
|
"/executable avatar xdg-open",
|
||||||
"/executable urlopen html false \"firefox %u\"",
|
"/executable urlopen html false \"firefox %u\"",
|
||||||
|
@ -537,18 +537,23 @@ prefs_get_string_list_with_option(preference_t pref, gchar *option)
|
|||||||
char **def = _get_default_string_list(pref);
|
char **def = _get_default_string_list(pref);
|
||||||
|
|
||||||
gchar **result = g_key_file_get_locale_string_list(prefs, group, key, option, NULL, NULL);
|
gchar **result = g_key_file_get_locale_string_list(prefs, group, key, option, NULL, NULL);
|
||||||
|
if (result) {
|
||||||
if (result == NULL) {
|
|
||||||
if (def) {
|
|
||||||
return def;
|
|
||||||
} else {
|
|
||||||
g_strfreev(def);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
g_strfreev(def);
|
g_strfreev(def);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
result = g_key_file_get_string_list(prefs, group, key, NULL, NULL);
|
||||||
|
if (result) {
|
||||||
|
g_strfreev(def);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (def) {
|
||||||
|
return def;
|
||||||
|
} else {
|
||||||
|
g_strfreev(def);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -587,13 +592,21 @@ prefs_set_string_list_with_option(preference_t pref, char *option, const gchar*
|
|||||||
const char *group = _get_group(pref);
|
const char *group = _get_group(pref);
|
||||||
const char *key = _get_key(pref);
|
const char *key = _get_key(pref);
|
||||||
if (values == NULL || *values == NULL){
|
if (values == NULL || *values == NULL){
|
||||||
g_key_file_set_locale_string_list(prefs, group, key, option, NULL, 0);
|
if (g_strcmp0(option, "*") == 0) {
|
||||||
|
g_key_file_set_string_list(prefs, group, key, NULL, 0);
|
||||||
|
} else {
|
||||||
|
g_key_file_set_locale_string_list(prefs, group, key, option, NULL, 0);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
guint num_values = 0;
|
guint num_values = 0;
|
||||||
while(values[num_values]) {
|
while(values[num_values]) {
|
||||||
num_values++;
|
num_values++;
|
||||||
|
}
|
||||||
|
if (g_strcmp0(option, "*") == 0) {
|
||||||
|
g_key_file_set_string_list(prefs, group, key, values, num_values);
|
||||||
|
} else {
|
||||||
|
g_key_file_set_locale_string_list(prefs, group, key, option, values, num_values);
|
||||||
}
|
}
|
||||||
g_key_file_set_locale_string_list(prefs, group, key, option, values, num_values);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user