mirror of
https://github.com/jarun/nnn.git
synced 2024-11-28 13:51:31 +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
|
- Copy absolute file paths with quotes
|
||||||
- Change directory at exit (*easy* shell integration)
|
- Change directory at exit (*easy* shell integration)
|
||||||
- Open any file in EDITOR (fallback vi) or PAGER (fallback less)
|
- 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
|
- Terminal screensaver/locker integration
|
||||||
- Unicode support
|
- Unicode support
|
||||||
- Highly optimized code, minimal resource usage
|
- Highly optimized code, minimal resource usage
|
||||||
|
|
27
nnn.c
27
nnn.c
|
@ -2046,9 +2046,6 @@ static int show_help(char *path)
|
||||||
return 0;
|
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,
|
static int sum_bsizes(const char *fpath, const struct stat *sb,
|
||||||
int typeflag, struct FTW *ftwbuf)
|
int typeflag, struct FTW *ftwbuf)
|
||||||
{
|
{
|
||||||
|
@ -2984,7 +2981,8 @@ nochange:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* Allow only relative, same dir paths */
|
/* 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]);
|
printmsg(messages[STR_INPUT_ID]);
|
||||||
goto nochange;
|
goto nochange;
|
||||||
}
|
}
|
||||||
|
@ -3005,7 +3003,26 @@ nochange:
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sel == SEL_LAUNCH) {
|
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;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue