about summary refs log tree commit diff stats
path: root/src/command
diff options
context:
space:
mode:
authorMichael Vetter <jubalh@iodoru.org>2020-05-20 09:48:42 +0200
committerMichael Vetter <jubalh@iodoru.org>2020-05-20 10:54:54 +0200
commitce32d874e0a4587010f5535fe7bff6b7438da560 (patch)
treeebb32e992b27ed5deb7edbc2151d6d37e7119a09 /src/command
parent22ca81e0b680cae9a3d00eea48a3a9013012af15 (diff)
downloadprofani-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.c8
-rw-r--r--src/command/cmd_funcs.c30
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;
 }