path: root/sdn.1
diff options
authorPřemysl Eric Janouch <p@janouch.name>2020-10-27 04:05:54 +0100
committerPřemysl Eric Janouch <p@janouch.name>2020-10-27 04:17:52 +0100
commitc20d3780b2ac9d1edb143fc18f7f6965867f74f9 (patch)
treebc6ff362af8daa5a461c424a4af9b509ab05f97e /sdn.1
parent22725ba3b7114baf88f186330ce2ebb16794e1d8 (diff)
Make the manpages mostly acceptable
Closes #1
Diffstat (limited to 'sdn.1')
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
.Nm sdn
-.Nd simple directory navigator
+.Nd directory navigator
.Nm sdn
.Op Ar line Ar point
+.Nm sdn
+.Cm --version
-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.
+Press F1 to get a list of active key bindings and their assigned actions,
+grouped by their contexts.
+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.
+While some behaviour can be toggled from within the program, some can only be
+changed by modifying configuration files manually.
+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.
+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.
.Bl -tag -width 15n
@@ -23,16 +64,45 @@ and you can use the
utility to initialize this variable.
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 .
-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 .
.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.
+.Ss Pa bindings
+Key names or combinations follow the Emacs syntax for Control and Meta prefixes
+.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
+.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
+cmdline 145
+.Lk https://git.janouch.name/p/sdn
+to report bugs, request features, or submit pull requests.