about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--README62
-rw-r--r--torus.1124
-rw-r--r--torus.758
4 files changed, 174 insertions, 74 deletions
diff --git a/Makefile b/Makefile
index 6169e4d..776a032 100644
--- a/Makefile
+++ b/Makefile
@@ -44,5 +44,5 @@ chroot.tar: server client
 clean:
 	rm -f tags $(OBJS) $(BINS) chroot.tar
 
-README: torus.7
-	mandoc torus.7 | col -b -x > README
+README: torus.1
+	mandoc torus.1 | col -b -x > README
diff --git a/README b/README
index e7f3e3b..c4f2494 100644
--- a/README
+++ b/README
@@ -1,22 +1,56 @@
-TORUS(7)           FreeBSD Miscellaneous Information Manual           TORUS(7)
+torus(1)                FreeBSD General Commands Manual               torus(1)
 
 NAME
-     torus – welcome to ascii.town!
+     server, client, image, meta, merge – collaborative ASCII art
+
+SYNOPSIS
+     server [-d data] [-s sock]
+     client [-h] [-s sock]
+     image [-d data] [-f font] [-x x] [-y y]
+     meta
+     merge data1 data2 data3
 
 DESCRIPTION
+     server maps a data file and listens on a UNIX-domain socket to
+     synchronize events between clients.
+
+     client connects to a UNIX-domain socket and presents a curses(3)
+     interface.
+
+     image renders a tile from a data file using a PSF2 font to PNG on
+     standard output.
+
+     meta extracts metadata from a data file on standard input to CSV on
+     standard ouput.  The CSV fields are tileX, tileY, createTime,
+     modifyCount, modifyTime, accessCount, accessTime.
+
+     merge interactively merges two data files data1 and data2 into data3.
+     Differing tiles are presented in a curses(3) interface and are chosen by
+     typing a or b.
+
+     The arguments are as follows:
+
+     -d data
+             Set path to data file.  The default path is torus.dat.
+
+     -f font
+             Set path to PSF2 font.  The default path is default8x16.psfu.
+
+     -h      Write help page data to standard output and exit.
+
+     -s sock
+             Set path to UNIX-domain socket.  The default path is torus.sock.
+
+     -x x -y y
+             Set tile coordinates to render.  The default coordinates are
+             32,32.
+
+IMPLEMENTATION NOTES
      This software targets FreeBSD and Darwin.
 
-     torus.h      Shared structures and message protocol.
-     server.c     Maps torus.dat and listens on torus.sock.
-     client.c     curses(3) client.
-     help.h       Tile data for help page.
-     image.c      Renders PNGs of tiles.
-     meta.c       Exports metadata from data file to CSV.
-     merge.c      Interactively merges two data files.
-     snapshot.sh  Snapshots data file, appropriate for cron.
+     help.h contains tile data for the help page and can be generated from the
+     first tile of torus.dat.
 
-     sshd_config       Anonymous login to chroot(8)'d client.
-     index.html        Friendly directions.
-     default8x16.psfu  Bitmap font from kbd: http://kbd-project.org.
+     default8x16.psfu is taken from kbd: http://kbd-project.org.
 
-Causal Agency                  October 10, 2018                  Causal Agency
+Causal Agency                  October 12, 2018                  Causal Agency
diff --git a/torus.1 b/torus.1
new file mode 100644
index 0000000..52f12db
--- /dev/null
+++ b/torus.1
@@ -0,0 +1,124 @@
+.Dd October 12, 2018
+.Dt torus 1
+.Os "Causal Agency"
+.
+.Sh NAME
+.Nm server ,
+.Nm client ,
+.Nm image ,
+.Nm meta ,
+.Nm merge
+.Nd collaborative ASCII art
+.
+.Sh SYNOPSIS
+.Nm server
+.Op Fl d Ar data
+.Op Fl s Ar sock
+.
+.Nm client
+.Op Fl h
+.Op Fl s Ar sock
+.
+.Nm image
+.Op Fl d Ar data
+.Op Fl f Ar font
+.Op Fl x Ar x
+.Op Fl y Ar y
+.
+.Nm meta
+.
+.Nm merge
+.Ar data1
+.Ar data2
+.Ar data3
+.
+.Sh DESCRIPTION
+.Nm server
+maps a data file
+and listens on a UNIX-domain socket
+to synchronize events between clients.
+.
+.Pp
+.Nm client
+connects to a UNIX-domain socket
+and presents a
+.Xr curses 3
+interface.
+.
+.Pp
+.Nm image
+renders a tile from a data file
+using a PSF2 font
+to PNG on standard output.
+.
+.Pp
+.Nm meta
+extracts metadata
+from a data file on standard input
+to CSV on standard ouput.
+The CSV fields are
+.Va tileX ,
+.Va tileY ,
+.Va createTime ,
+.Va modifyCount ,
+.Va modifyTime ,
+.Va accessCount ,
+.Va accessTime .
+.
+.Pp
+.Nm merge
+interactively merges two data files
+.Ar data1
+and
+.Ar data2
+into
+.Ar data3 .
+Differing tiles are presented in a
+.Xr curses 3
+interface
+and are chosen by typing
+.Ic a
+or
+.Ic b .
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl d Ar data
+Set path to data file.
+The default path is
+.Pa torus.dat .
+.
+.It Fl f Ar font
+Set path to PSF2 font.
+The default path is
+.Pa default8x16.psfu .
+.
+.It Fl h
+Write help page data to standard output and exit.
+.
+.It Fl s Ar sock
+Set path to UNIX-domain socket.
+The default path is
+.Pa torus.sock .
+.
+.It Fl x Ar x Fl y Ar y
+Set tile coordinates to render.
+The default coordinates are 32,32.
+.El
+.
+.Sh IMPLEMENTATION NOTES
+This software targets
+.Fx
+and Darwin.
+.
+.Pp
+.Pa help.h
+contains tile data for the help page
+and can be generated from the first tile of
+.Pa torus.dat .
+.
+.Pp
+.Pa default8x16.psfu
+is taken from
+.Lk http://kbd-project.org kbd .
diff --git a/torus.7 b/torus.7
deleted file mode 100644
index 3394086..0000000
--- a/torus.7
+++ /dev/null
@@ -1,58 +0,0 @@
-.Dd October 10, 2018
-.Dt TORUS 7
-.Os "Causal Agency"
-.
-.Sh NAME
-.Nm torus
-.Nd welcome to ascii.town!
-.
-.Sh DESCRIPTION
-This software targets
-.Fx
-and Darwin.
-.
-.Pp
-.Bl -tag -width "snapshot.sh" -compact
-.It Pa torus.h
-Shared structures and message protocol.
-.
-.It Pa server.c
-Maps
-.Pa torus.dat
-and listens on
-.Pa torus.sock .
-.
-.It Pa client.c
-.Xr curses 3
-client.
-.
-.It Pa help.h
-Tile data for help page.
-.
-.It Pa image.c
-Renders PNGs of tiles.
-.
-.It Pa meta.c
-Exports metadata from data file to CSV.
-.
-.It Pa merge.c
-Interactively merges two data files.
-.
-.It Pa snapshot.sh
-Snapshots data file, appropriate for cron.
-.El
-.
-.Pp
-.Bl -tag -width "default8x16.psfu" -compact
-.It Pa sshd_config
-Anonymous login to
-.Xr chroot 8 Ap d
-client.
-.
-.It Pa index.html
-Friendly directions.
-.
-.It Pa default8x16.psfu
-Bitmap font from
-.Lk http://kbd-project.org kbd .
-.El