diff --git a/src/gmnlm.c b/src/gmnlm.c
index 489a6833f75c9e6a13562c84dc8e3ded24be23c4..930ab19abe717b186070151a184b2a8e98542f77 100644
--- a/src/gmnlm.c
+++ b/src/gmnlm.c
@@ -82,6 +82,7 @@ "<Enter>\t\tread more lines (if available)\n"
"<url>\t\tgo to url\n"
"[N]\t\tFollow Nth link (where N is a number)\n"
"p[N]\t\tPrint URL of Nth link (where N is a number)\n"
+ "e\t\tSend current URL of browser to external default program\n"
"e[N]\t\tSend URL of Nth link in external default program\n"
"t[N]\t\tDownload content of Nth link to a temporary file\n"
"b[N]\t\tJump back N entries in history, N is optional, default 1\n"
@@ -645,7 +646,16 @@ }
case 'e':
case 'p':
case 't':
- if (!in[1]) break;
+ if (!in[1]) {
+ if (in[0] == 'e') {
+ char xdgopen[4096];
+ snprintf(xdgopen, sizeof(xdgopen), "xdg-open %s", browser->plain_url);
+ if ( !system(xdgopen) ) fprintf(browser->tty, "Link send to xdg-open\n");
+ goto exit;
+ } else {
+ break;
+ }
+ }
linksel = (int)strtol(in+1, &endptr, 10);
if (!endptr[0] && linksel >= 0) {
while (linksel > 0 && link) {