Slideshow provides a framework for slide presentations on Plan 9
using the native draw(2) functions.
You define a function per slide, with optional transitions between them,
and an array of the steps of the presentation.
The accompanying main.c
and mkfile
will build a program for your presentation which will allow you to
step forward and backward through slides.
The functions for your slides can use whatever draw functions you like:
basic strings (or my wordwrap function),
arbitrary drawing with
draw()
, line()
, and friends,
import arbitrary graphics with loadimage()
, whatever.
A few helper functions are provided to simplify common tasks.
Two presentations are included in the distribution: demo, providing no content but showing the structure, and nile, a presentation on Nile which, while a work in progress, demonstrates many of the ways to build slides and transition between them. To make your own, you must create a new .c file for it, create one function for a slide, and define steptab[] containing at least that one function; you could copy demo.c and start adding to that. A proper man page is pending.
Slideshow runs on both Plan 9 and Plan 9 from User Space;
for the later, 'cp mkfile.p9p mkfile
'.
Like most of my programs which run on both, checks for
$service
being either blank, unset, or set to unix
to detect Plan 9 from User Space, in which case it will use different fonts.
Slideshow was largely inspired by Robin Sloan's "tap essay" Fish, which I highly recommend.