TODO LIST FOR TKDVI
===================

The following is a set of ideas in store for TkDVI. Feel free to
tackle any of these if you're feeling bored but contact Anselm
beforehand, to avoid duplication of effort. The prioritization here is
very rough and should not be construed as a roadmap for further TkDVI
development. If there is anything you particularly need but can't
implement yourself, let us know so we can maybe bump up its priority.

Short-Term (easy stuff, mostly Tcl code):
-----------------------------------------
* Add reasonable command line parsing
* Add menu shortcuts and accelerators
* Write programmer documentation

Mid-Range (mostly requires C coding):
-------------------------------------
* Add image support (use Tk Img extension)
* Add hypertext support (as in xhdvi & friends)
* Allow arbitrary Tcl code in \special{}. This should use Safe-Tk to
  avoid security hazards. It would be nice to be able to have
  `interactive' DVI pages or those that include sound, movies etc.
  The tricky part here is to avoid doing stuff multiple times that
  should really just be done once
* Play around with color (according to the relevant \special{}s)

Some Tcl stuff:

* Add preferences configuration dialog
* Make keys configurable
* Add nice printer dialog with dvips options etc.

* Make test suite more extensive
* In particular, add tests for glyph unpacking.
* There are apparently some glitches left in the shrinking code which
  should be tracked down and fixed.
* Investigate rendering code so \textcopyright works.

Eventually (WIBNIs and fun stuff to play around with):
------------------------------------------------------
* Tpic \specials and/or Gilbert's stuff (see TUGboat)
* Follow up on groupware/classroom idea -- several people looking at
  the same DVI page, with annotations, telepointer etc.
* TrueType font support
* Read a .TOC or .AUX file to obtain chapter headings etc. even if
  hyperref is not used
* `Presentation' mode (frameless display)
* `Layered' DVI files -- use \special{layer (push|pop|reset)} to
  selectively display part of the material on a page (for presentations)
* Self-contained DVI files (with fonts and graphics)
* Transparency for DVI graphics items -- this needs support from Tk
  which is doubtful (as of now -- but see Img patch)
* Use `stubs' interface as in Tcl/Tk 8.1. This is probably easy but
  I need a Tcl/Tk that supports it.
* Split the Tk-dependent part (the image type) from the rest so the
  rest can be used in a tclsh.
* Perl/Tk -- what does it take to adapt the DVI image type for use with
  this?
* Port to Windows. I don't have a Windows box to play with, so I'd be
  happy for anybody with the relevant environment and expertise to
  go for this.

$Id: TODO,v 1.2 1999/06/18 09:37:37 lingnau Exp $
