diff options
-rw-r--r-- | config.h | 1 | ||||
-rw-r--r-- | noice.c | 13 |
2 files changed, 14 insertions, 0 deletions
@@ -98,4 +98,5 @@ struct key bindings[] = { /* Run command with argument */ { 'e', SEL_RUNARG, "vi", "EDITOR" }, { 'p', SEL_RUNARG, "less", "PAGER" }, + { 'o', SEL_RUNWITH }, }; @@ -72,6 +72,7 @@ enum action { SEL_REDRAW, SEL_RUN, SEL_RUNARG, + SEL_RUNWITH, }; struct key { @@ -865,6 +866,18 @@ nochange: spawn(run, dents[cur].name, path); initcurses(); goto begin; + case SEL_RUNWITH: + /* Save current */ + if (ndents > 0) + mkpath(path, dents[cur].name, oldpath, sizeof(oldpath)); + printprompt("open with: "); + tmp = readln(); + if (tmp == NULL) + goto begin; + exitcurses(); + spawn(tmp, dents[cur].name, path); + initcurses(); + goto begin; } /* Screensaver */ if (idletimeout != 0 && idle == idletimeout) { |