* Save caller info so that protocol errors give useful tracebacks (use
  Carp::longmess?)

* Use (Self|Auto)Loader to reduce startup time; would require major
  restructuring

* Documentation needs more examples, better explanations.

* Inline small functions in time critical places (pad*,
  Protocol::g(et|ive))?

Porting:
	64-bit architectures?
	avoid '/' as path separator; use File::something?

Extensions:
	MIT-SCREEN-SAVER
	MIT-SHM?
	MIT-SUNDRY-NONSTANDARD
	Multi-Buffering
	SYNC
	X3D-PEX
	XC-MISC (get list of rsrc ids from server)
	XIE
	XTEST
	XFree86-*
	Display Postscript?
	OpenGL??

Authentication protocols:
	XDM-something
	SUN-DES-1
	MIT-KERBEROS-5

Connection types:
	What do socketless Unixes use?
		named pipes?
		STREAMS?
		(shm|msg)(ctl|get|snd|rcv|read|write)(2)?

Other modules:
	X11::Xlib (XS to libX11.a)
	X11::Display, X11::Window, X11::GC, etc (more OO, more
		intuitive interace, could be on top of Xlib)

Long-term goals:
	Widget library
	PWM (like gwm, but Perl instead of WOOL)

If you have something you think should go on this list, or if you want
to work on one or more of the above, email me (Stephen McCamant) at
<alias@mcs.com>.
