mirror of
https://github.com/jarun/nnn.git
synced 2024-11-24 20:01:27 +00:00
Support up to 2 args for launcher
This commit is contained in:
parent
99a9d63ee7
commit
729c13b162
|
@ -107,7 +107,7 @@ Have fun with it! Missing a feature? Want to contribute? Head to the rolling [To
|
|||
- Copy absolute file paths with quotes
|
||||
- Change directory at exit (*easy* shell integration)
|
||||
- Open any file in EDITOR (fallback vi) or PAGER (fallback less)
|
||||
- GUI app launcher
|
||||
- GUI app launcher (maximum 2 space-separated arguments)
|
||||
- Terminal screensaver/locker integration
|
||||
- Unicode support
|
||||
- Highly optimized code, minimal resource usage
|
||||
|
|
27
nnn.c
27
nnn.c
|
@ -2046,9 +2046,6 @@ static int show_help(char *path)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int sum_bsizes(const char */*fpath*/, const struct stat *sb,
|
||||
int typeflag, struct FTW */*ftwbuf*/);
|
||||
|
||||
static int sum_bsizes(const char *fpath, const struct stat *sb,
|
||||
int typeflag, struct FTW *ftwbuf)
|
||||
{
|
||||
|
@ -2984,7 +2981,8 @@ nochange:
|
|||
break;
|
||||
|
||||
/* Allow only relative, same dir paths */
|
||||
if (tmp[0] == '/' || strcmp(xbasename(tmp), tmp) != 0) {
|
||||
if ((sel != SEL_LAUNCH) &&
|
||||
(tmp[0] == '/' || strcmp(xbasename(tmp), tmp) != 0)) {
|
||||
printmsg(messages[STR_INPUT_ID]);
|
||||
goto nochange;
|
||||
}
|
||||
|
@ -3005,7 +3003,26 @@ nochange:
|
|||
}
|
||||
|
||||
if (sel == SEL_LAUNCH) {
|
||||
spawn(tmp, NULL, NULL, path, F_NOWAIT | F_NOTRACE);
|
||||
uint args = 0;
|
||||
char *ptr = tmp, *ptr1 = NULL, *ptr2 = NULL;
|
||||
|
||||
while (*ptr) {
|
||||
if (*ptr == ' ') {
|
||||
*ptr = '\0';
|
||||
if (args == 0)
|
||||
ptr1 = ptr + 1;
|
||||
else if (args == 1)
|
||||
ptr2 = ptr + 1;
|
||||
else
|
||||
break;
|
||||
|
||||
++args;
|
||||
}
|
||||
|
||||
++ptr;
|
||||
}
|
||||
|
||||
spawn(tmp, ptr1, ptr2, path, F_NOWAIT | F_NOTRACE);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue