Slideshow

If C is good enough for your program, it's good enough for your presentation.

(Coming soon.)

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. The included util.c includes several helper functions to simplify common tasks and provide a few common slide types.

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, it 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.