summaryrefslogtreecommitdiff
path: root/sdn.1
diff options
context:
space:
mode:
Diffstat (limited to 'sdn.1')
-rw-r--r--sdn.186
1 files changed, 78 insertions, 8 deletions
diff --git a/sdn.1 b/sdn.1
index e449d77..0185e18 100644
--- a/sdn.1
+++ b/sdn.1
@@ -1,18 +1,59 @@
-.Dd October 26, 2020
+.Dd October 27, 2020
.Dt SDN 1
.Os Linux
.Sh NAME
.Nm sdn
-.Nd simple directory navigator
+.Nd directory navigator
.Sh SYNOPSIS
.Nm sdn
.Op Ar line Ar point
+.Nm sdn
+.Cm --version
.Sh DESCRIPTION
.Nm
-is a simple directory navigator that you can invoke while editing shell
+is a simple directory navigator that you can launch while editing shell
commands. Use the
.Xr sdn-install 1
-script to integrate it with your shell, then invoke it with M-o.
+script to integrate it with your shell, then invoke it at any time with M-o.
+.Pp
+Press F1 to get a list of active key bindings and their assigned actions,
+grouped by their contexts.
+.Pp
+Program arguments are only used by integration snippets to forward the parent
+shell's command line. The
+.Ar point
+is given in terms of characters.
+.Sh OPTIONS
+While some behaviour can be toggled from within the program, some can only be
+changed by modifying configuration files manually.
+.Pp
+The files follow a simple syntax derived from the Bourne shell: each option is
+on its own line, with words separated by linear whitespace. Comments start with
+a hash (#) and continue until the end of the line. All special characters may
+be quoted using either a backslash or single-quoted strings.
+.Pp
+The options and the default key bindings controlling them are as follows:
+.Bl -tag
+.It full-view Em bool No (t)
+If non-zero, the equivalent format to
+.Ql ls -l
+is used to display directory contents rather than simply listing the filenames.
+.It gravity Em bool
+If non-zero, all entries stick to the bottom of the screen, i.e., all empty
+space is at the top.
+.It reverse-sort Em bool No (R)
+If non-zero, the order of entries is reversed.
+.It show-hidden Em bool No (M-.)
+If non-zero, filenames beginning with a full stop are shown.
+.It ext-helpers Em bool
+If non-zero, viewers and editors are launched from the parent shell. This way
+you can suspend them and use job control features of the shell. However it
+also enforces any pending change to the shell's working directory.
+.It sort-column Em number No (M-< M->)
+The zero-based index of the
+.Ql full-view
+column that entries are ordered by.
+.El
.Sh ENVIRONMENT
.Bl -tag -width 15n
.It Ev LS_COLORS
@@ -23,16 +64,45 @@ and you can use the
utility to initialize this variable.
.It Ev PAGER
The viewer program to be launched by the F3 key binding as well as to show
-the internal help message.
+the internal help message. If none is set, it defaults to
+.Xr less 1 .
.It Ev VISUAL , Ev EDITOR
-The editor program to be launched by the F4 key binding.
+The editor program to be launched by the F4 key binding. If none is set,
+it defaults to
+.Xr vi 1 .
.El
.Sh FILES
.Bl -tag -width 25n -compact
.It Pa ~/.config/sdn/config
-Program configuration and state.
+Program configuration and navigation state, initialized or overwritten on exit.
.It Pa ~/.config/sdn/bindings
-Key binding overrides.
+Custom key binding overrides.
.It Pa ~/.config/sdn/look
Redefine terminal attributes for UI elements.
.El
+.Sh EXAMPLES
+.Ss Pa bindings
+Key names or combinations follow the Emacs syntax for Control and Meta prefixes
+and
+.Xr terminfo 5 names are used for special keys. To obtain more vifm-like
+controls and Windows-like quit abilities:
+.Bd -literal -offset indent
+normal h parent
+normal l choose
+normal M-f4 quit
+.Ed
+.Ss Pa look
+Terminal attributes are accepted in a format similar to that of
+.Xr git 1 , only named colours aren't supported. For a black-on-white terminal
+supporting 256 colours, a theme such as the following may work:
+.Bd -literal -offset indent
+cursor 231 202
+bar 16 255 ul
+cwd bold
+input
+cmdline 145
+.Ed
+.Sh REPORTING BUGS
+Use
+.Lk https://git.janouch.name/p/sdn
+to report bugs, request features, or submit pull requests.