commit 4575b59cd4c4d3de74252e38167171c2cd3cdc6e from: "Omar Polo" <"op@omarpolo.com"> via: Omar Polo date: Wed Jun 26 12:14:52 2024 UTC open unknown protocols with the default opener 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); } /*