LDLIBS += -lncurses
endif
-DISTFILES = nlay nlay.1 nnn.c nnn.h nnn.1 Makefile README.md LICENSE
+DISTFILES = nnn.c nnn.h nnn.1 Makefile README.md LICENSE
SRC = nnn.c
BIN = nnn
-PLAYER = nlay
-all: $(BIN) $(PLAYER)
+all: $(BIN)
$(SRC): nnn.h
install: all
$(INSTALL) -m 0755 -d $(DESTDIR)$(PREFIX)/bin
- $(INSTALL) -m 0755 $(BIN) $(PLAYER) $(DESTDIR)$(PREFIX)/bin
+ $(INSTALL) -m 0755 $(BIN) $(DESTDIR)$(PREFIX)/bin
$(INSTALL) -m 0755 -d $(DESTDIR)$(MANPREFIX)/man1
$(INSTALL) -m 0644 $(BIN).1 $(DESTDIR)$(MANPREFIX)/man1
- $(INSTALL) -m 0644 $(PLAYER).1 $(DESTDIR)$(MANPREFIX)/man1
uninstall:
$(RM) $(DESTDIR)$(PREFIX)/bin/$(BIN)
- $(RM) $(DESTDIR)$(PREFIX)/bin/$(PLAYER)
$(RM) $(DESTDIR)$(MANPREFIX)/man1/$(BIN).1
- $(RM) $(DESTDIR)$(MANPREFIX)/man1/$(PLAYER).1
strip: $(BIN)
$(STRIP) $^
```
usage: nnn [-b key] [-c N] [-e] [-i] [-l]
- [-p nlay] [-S] [-v] [-h] [PATH]
+ [-S] [-v] [-h] [PATH]
The missing terminal file manager for X.
-e use exiftool instead of mediainfo
-i start in navigate-as-you-type mode
-l start in light mode
- -p nlay path to custom nlay
-S start in disk usage analyser mode
-v show program version
-h show this help
export NNN_USE_EDITOR=1
-Customizable script [nlay](https://github.com/jarun/nnn/wiki/all-about-nlay) is used to run terminal locker.
-
#### Help
$ nnn -h
.Op Ar -e
.Op Ar -i
.Op Ar -l
-.Op Ar -p nlay
.Op Ar -S
.Op Ar -v
.Op Ar -h
.Fl l
start in light mode (fewer details)
.Pp
-.Fl "p nlay"
- path to custom nlay
-.Pp
.Fl S
start in disk usage analyzer mode
.Pp
show program help and exit
.Sh CONFIGURATION
.Nm
-uses \fIxdg-open\fR (on Linux) and \fIopen(1)\fR (on OS X) as the desktop
-opener. It invokes
-.Pa nlay
-to run the terminal locker. Read more on
-.Pa nlay
-at:
-.br
-.Em https://github.com/jarun/nnn/wiki/all-about-nlay
+uses \fIxdg-open\fR (on Linux) and \fIopen(1)\fR (on OS X) as the desktop opener.
.Pp
There is no configuration file. Settings work on environment variables. Please
refer to the ENVIRONMENT section below.
static int ndents, cur, total_dents = ENTRY_INCR;
static uint idle;
static uint idletimeout, copybufpos, copybuflen;
-static char *player;
static char *copier;
static char *editor;
static blkcnt_t ent_blocks;
#define MEDIAINFO 0
#define EXIFTOOL 1
#define OPENER 2
-#define NLAY 3
-#define ATOOL 4
-#define APACK 5
-#define VIDIR 6
+#define ATOOL 3
+#define APACK 4
+#define VIDIR 5
+#define LOCKER 6
#define UNKNOWN 7
/* Utilities to open files, run actions */
#else
"xdg-open",
#endif
- "nlay",
"atool",
"apack",
"vidir",
+#ifdef __APPLE__
+ "bashlock",
+#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
+ "lock",
+#else
+ "vlock",
+#endif
"UNKNOWN"
};
spawn(run, dents[cur].name, NULL, path, F_NORMAL);
break;
case SEL_LOCK:
- spawn(player, "", "screensaver", NULL, F_NORMAL | F_SIGINT);
+ spawn(utils[LOCKER], NULL, NULL, NULL, F_NORMAL | F_SIGINT);
break;
case SEL_QUITCTX:
{
/* Screensaver */
if (idletimeout != 0 && idle == idletimeout) {
idle = 0;
- spawn(player, "", "screensaver", NULL, F_NORMAL | F_SIGINT);
+ spawn(utils[LOCKER], NULL, NULL, NULL, F_NORMAL | F_SIGINT);
}
}
}
{
fprintf(stdout,
"usage: nnn [-b key] [-c N] [-e] [-i] [-l]\n"
- " [-p nlay] [-S] [-v] [-h] [PATH]\n\n"
+ " [-S] [-v] [-h] [PATH]\n\n"
"The missing terminal file manager for X.\n\n"
"positional args:\n"
" PATH start dir [default: current dir]\n\n"
" -e use exiftool instead of mediainfo\n"
" -i start in navigate-as-you-type mode\n"
" -l start in light mode\n"
- " -p nlay path to custom nlay\n"
" -S start in disk usage analyser mode\n"
" -v show program version\n"
" -h show this help\n\n"
exit(1);
}
- while ((opt = getopt(argc, argv, "Slib:c:ep:vh")) != -1) {
+ while ((opt = getopt(argc, argv, "Slib:c:evh")) != -1) {
switch (opt) {
case 'S':
cfg.blkorder = 1;
case 'e':
cfg.metaviewer = EXIFTOOL;
break;
- case 'p':
- player = optarg;
- break;
case 'v':
fprintf(stdout, "%s\n", VERSION);
return 0;
editor = xgetenv("EDITOR", "vi");
}
- /* Set player if not set already */
- if (!player)
- player = utils[NLAY];
-
/* Get screensaver wait time, if set; copier used as tmp var */
copier = getenv("NNN_IDLE_TIMEOUT");
if (copier) {