From 5f519841e7b4fa1a752e444a19722f0fe516b026 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Wed, 16 Jan 2019 20:11:33 +0530 Subject: Resurrect NNN_OPENER --- src/nnn.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/nnn.c b/src/nnn.c index d3d0947..aaa4775 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -297,6 +297,7 @@ static char *pnamebuf, *pcopybuf; static int ndents, cur, total_dents = ENTRY_INCR; static uint idle; static uint idletimeout, copybufpos, copybuflen; +static char *opener; static char *copier; static char *editor; static char *pager, *pager_arg; @@ -2157,6 +2158,8 @@ static bool show_help(char *path) dprintf(fd, "\n"); } + if (getenv("NNN_OPENER")) + dprintf(fd, "NNN_OPENER: %s\n", opener); if (cfg.useeditor) dprintf(fd, "NNN_USE_EDITOR: 1\n"); if (getenv("NNN_CONTEXT_COLORS")) @@ -2793,7 +2796,7 @@ nochange: } /* Invoke desktop opener as last resort */ - spawn(utils[OPENER], newpath, NULL, NULL, F_NOWAIT | F_NOTRACE); + spawn(opener, newpath, NULL, NULL, F_NOWAIT | F_NOTRACE); continue; } default: @@ -3767,6 +3770,11 @@ int main(int argc, char *argv[]) } #endif + /* Get custom opener, if set */ + opener = getenv("NNN_OPENER"); + if (!opener) + opener = utils[OPENER]; + /* Get locker wait time, if set; copier used as tmp var */ copier = getenv("NNN_IDLE_TIMEOUT"); if (copier) { -- cgit v1.2.3-70-g09d2