- 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
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)
{
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;
}
}
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;
}