diff --git a/Makefile b/Makefile index 5648b572..4bbbd9c0 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,10 @@ PREFIX = /usr/local +MANPREFIX = $(PREFIX)/man + #CPPFLAGS += -DDEBUG #CFLAGS += -g LDLIBS = -lncursesw + OBJ = noice.o strlcpy.o BIN = noice @@ -18,10 +21,14 @@ install: all @mkdir -p $(DESTDIR)$(PREFIX)/bin @cp -f $(BIN) $(DESTDIR)$(PREFIX)/bin @chmod 755 $(DESTDIR)$(PREFIX)/bin/$(BIN) + @echo installing $(BIN).1 to $(DESTDIR)$(MANPREFIX)/man1 + @cp -f $(BIN).1 $(DESTDIR)$(MANPREFIX)/man1 uninstall: @echo removing $(BIN) from $(DESTDIR)$(PREFIX)/bin @rm -f $(DESTDIR)$(PREFIX)/bin/$(BIN) + @echo removing $(BIN).1 from $(DESTDIR)$(MANPREFIX)/man1 + @rm -f $(DESTDIR)$(MANPREFIX)/man1/$(BIN).1 clean: rm -f $(BIN) $(OBJ) diff --git a/noice.1 b/noice.1 new file mode 100644 index 00000000..3e4d97b0 --- /dev/null +++ b/noice.1 @@ -0,0 +1,83 @@ +.Dd Oct 22, 2014 +.Dt NOICE 1 +.Os +.Sh NAME +.Nm noice +.Nd small file manager +.Sh SYNOPSIS +.Nm noice +.Op Ar dir +.Sh DESCRIPTION +.Nm +is a simple and efficient file manager that gets out of your way +as much as possible. It was initially implemented to be controlled +with a TV remote control. +.Pp +.Nm +supports both vi-like and emacs-like key bindings in the default +configuration. The default key bindings are described below; +their functionality is described in more detail later. +.Pp +.Bl -tag -width "h | Left | BackspaceXXXX" -offset indent -compact +.It Ic k | Up | C-p +Move to previous entry. +.It Ic j | Down | C-n +Move to next entry. +.It Ic Pgup | C-u +Scroll backwards one page. +.It Ic Pgdown | C-d +Scroll forwards one page. +.It Ic l | Right | C-m +Open file or enter directory. +.It Ic h | Left | Backspace +Back up one directory level. +.It Ic / | & +Filter view (see below for more details). +.It Ic ! +Spawn shell in current directory. +.It Ic c +Change into the given directory. +.It Ic q +Quit +.Nm . +.Sh CONFIGURATION +.Nm +is configured by modifying +.Pa config.h +and recompiling the code. +.Pp +The file associations are specified by regexes +matching on the currently selected filename. If a match is found the associated +program is executed with the filename passed in as the argument. If no match +is found the program less(1) is invoked. This is useful for editing text files +as one can use the 'v' command in less(1) to edit the file in $EDITOR. +.Pp +See the examples section below for more information. +.Sh FILTERS +Filters allow you to use regexes to display only the matched +entries in the current directory view. This effectively allows +searching through the directory tree for a particular entry. +.Pp +Filters do not stack on top of each other. They are applied anew +every time. +.Pp +To reset the filter you can use the match-any regex (i.e. '.'). +.Sh EXAMPLES +The following example shows one possible configuration for +file associations. This is the default configuration for +.Nm . +.Bd -literal +struct assoc assocs[] = { + { "\\.(avi|mp4|mkv|mp3|ogg|flac)$", "mplayer" }, + { "\\.(png|jpg|gif)$", "feh" }, + { "\\.(html|svg)$", "firefox" }, + { "\\.pdf$", "mupdf" }, + { "\\.sh$", "sh" }, + { ".*", "less" }, +}; +.Ed +.Pp +.Sh AUTHORS +.Nm +was developed by Lazaros Koromilas with +contributions by sin .