commit 95ca9c3a951f152ea102536df08288fece377c25
parent 26f7af74fd4f505f4becdc545ff4029d3fbdcbab
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date: Sun, 21 Aug 2016 15:49:54 +0530
Support NOICE_FALLBAK_OPENER.
Diffstat:
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/noice.c b/noice.c
@@ -86,6 +86,7 @@ struct entry *dents;
int ndents, cur;
int idle;
char *opener = NULL;
+char *fallback_opener = NULL;
/*
* Layout:
@@ -658,7 +659,8 @@ nochange:
char cmd[MAX_LEN];
int status;
- snprintf(cmd, MAX_LEN, "%s \"%s\" > /dev/null 2>&1", opener, newpath);
+ snprintf(cmd, MAX_LEN, "%s \"%s\" > /dev/null 2>&1",
+ opener, newpath);
status = system(cmd);
continue;
}
@@ -686,10 +688,14 @@ nochange:
if (strstr(cmd, "ASCII text") != NULL)
bin = execvim;
- else {
- snprintf(cmd, MAX_LEN, "xdg-open \"%s\" > /dev/null 2>&1", newpath);
+ else if (fallback_opener) {
+ snprintf(cmd, MAX_LEN, "%s \"%s\" > /dev/null 2>&1",
+ fallback_opener, newpath);
status = system(cmd);
continue;
+ } else {
+ printmsg("No association");
+ goto nochange;
}
}
exitcurses();
@@ -849,6 +855,9 @@ main(int argc, char *argv[])
/* Get the default desktop mime opener, if set */
opener = getenv("NOICE_OPENER");
+ /* Get the fallback desktop mime opener, if set */
+ fallback_opener = getenv("NOICE_FALLBACK_OPENER");
+
signal(SIGINT, SIG_IGN);
/* Test initial path */