Commit Diff


commit - 4660114dd3cb06024ba558f864c0c9fbde26eb0d
commit + 4575b59cd4c4d3de74252e38167171c2cd3cdc6e
blob - 1415c50a52cd2abecdeb9e1f87abdc75d34afe0e
blob + 9fa62ee784c9091b0b653a7c4fc5ed3d02d33521
--- telescope.c
+++ telescope.c
@@ -36,6 +36,7 @@
 #include "control.h"
 #include "defaults.h"
 #include "ev.h"
+#include "exec.h"
 #include "fs.h"
 #include "hist.h"
 #include "imsgev.h"
@@ -784,6 +785,22 @@ load_page_from_str(struct tab *tab, const char *page)
 	ui_on_tab_loaded(tab);
 }
 
+static void
+do_load_url_cmd(int res, void *d)
+{
+	struct tab		*tab = d;
+	const char		*argv[3];
+
+	if (!res)
+		return;
+
+	argv[0] = DEFAULT_OPENER;
+	argv[1] = hist_cur(tab->hist);
+	argv[2] = NULL;
+	exec_cmd((char **)argv, EXEC_BACKGROUND);
+	message("Link opened with %s", DEFAULT_OPENER);
+}
+
 /*
  * Effectively load the given url in the given tab.
  */
@@ -837,6 +854,8 @@ do_load_url(struct tab *tab, const char *url, const ch
 	}
 
 	load_page_from_str(tab, err_pages[UNKNOWN_PROTOCOL]);
+	ui_yornp("Open page with "DEFAULT_OPENER"?",
+	    do_load_url_cmd, tab);
 }
 
 /*