diff options
author | Michael Vetter <jubalh@iodoru.org> | 2020-05-20 09:48:42 +0200 |
---|---|---|
committer | Michael Vetter <jubalh@iodoru.org> | 2020-05-20 10:54:54 +0200 |
commit | ce32d874e0a4587010f5535fe7bff6b7438da560 (patch) | |
tree | ebb32e992b27ed5deb7edbc2151d6d37e7119a09 /src/command | |
parent | 22ca81e0b680cae9a3d00eea48a3a9013012af15 (diff) | |
download | profani-tty-ce32d874e0a4587010f5535fe7bff6b7438da560.tar.gz |
Build URL ac upon printing of message in window
Diffstat (limited to 'src/command')
-rw-r--r-- | src/command/cmd_ac.c | 8 | ||||
-rw-r--r-- | src/command/cmd_funcs.c | 30 |
2 files changed, 23 insertions, 15 deletions
diff --git a/src/command/cmd_ac.c b/src/command/cmd_ac.c index a6f85a87..6883774a 100644 --- a/src/command/cmd_ac.c +++ b/src/command/cmd_ac.c @@ -3921,12 +3921,12 @@ _urlopen_autocomplete(ProfWin *window, const char *const input, gboolean previou { char *result = NULL; - if (window->type == WIN_CONSOLE){ - return result; + if (window->type == WIN_CHAT || + window->type == WIN_MUC || + window->type == WIN_PRIVATE) { + result = autocomplete_param_with_func(input, "/urlopen", wins_get_url, previous, window); } - result = autocomplete_param_no_with_func(input, "/urlopen", 2, buffer_get_url, previous, window->layout->buffer); - return result; } diff --git a/src/command/cmd_funcs.c b/src/command/cmd_funcs.c index 109043bc..9a00bc2f 100644 --- a/src/command/cmd_funcs.c +++ b/src/command/cmd_funcs.c @@ -8862,19 +8862,27 @@ cmd_slashguard(ProfWin *window, const char *const command, gchar **args) gboolean cmd_urlopen(ProfWin *window, const char *const command, gchar **args) { - if (args[0] == NULL) { - cons_bad_cmd_usage(command); - return TRUE; - } + if (window->type == WIN_CHAT || + window->type == WIN_MUC || + window->type == WIN_PRIVATE) { - //TODO: make function. see src/xmpp/avatar.c - GString *cmd = g_string_new(""); + if (args[0] == NULL) { + cons_bad_cmd_usage(command); + return TRUE; + } + + //TODO: make function. see src/xmpp/avatar.c + GString *cmd = g_string_new(""); + + g_string_append_printf(cmd, "%s %s > /dev/null 2>&1", "xdg-open", args[0]); + cons_show("Calling: %s", cmd->str); + FILE *stream = popen(cmd->str, "r"); - g_string_append_printf(cmd, "%s %s > /dev/null 2>&1", "xdg-open", args[0]); - cons_show("Calling: %s", cmd->str); - FILE *stream = popen(cmd->str, "r"); + pclose(stream); + g_string_free(cmd, TRUE); + } else { + cons_show("urlopen not supported in this window"); + } - pclose(stream); - g_string_free(cmd, TRUE); return TRUE; } |