- Make scwm work with automake, and libtool where appropriate; this
should make setting up loadable modules much easier.

- Implement error reporting and output redirection for the scwmexec
protocol, and make setting the SCWMEXEC_REQWIN property safe against
race conditions; with these, scwmrepl should be a total replacement of
the --interactive option.

- all (or at least nearly all) setters should have corresponding
getters

- Use guile-snarf pervasively

- Better system than calling scwm_error with a number?

- Hook callback on scwm_msg-s, instead of just writing to stderr

- side images should have optional alignment to top, center, or bottom

- color scheme wrappers need reference counting; whole rewrite like image?

- replace ColorPair struct w/ scheme-object based

- New event handling mechanism
 - event objects?
 - event binding objects?

- stay on bottom window style? Sam Steingold <sds@usa.net>

- use placement function for window placement Sam Steingold <sds@usa.net>

- improve new menus
 - cascading popups -- done!
 - reverting mouse position when only keyboard used
 - extra-information list of properties (e.g, options for drawing, behaviour)
 - animation
 - keyboard short cuts using the new event model
 - smarter placement of menus that is aware of the context of the
   popup-menu (or give args to popup-menu so button decorations can
   do inform popup-menu of a left edge or right edge constraint)
 - pinup menus?  e.g. like the button bars
 - multi-columns?
 - horizontal?

- Better error handling  -- this may be more of a guile problem
  - get a line number!
  - Don't crash and burn so often
  - keep trying on .scwmrc especially!
  - more consistent use, especially abstractions for argument type checking

- New threads stuff & widget embedding -- GTk?

- Add a hook to the scwm_error handler routine passing the request error and event type; provide a module to make these human readable -- see X-error-describe

- scwm.h has some stuff that belongs in window.h; separate these out better

- add_window.c, borders.c seem to duplicate some functionality
  - figure out what each should do and remove extraneous stuff
  - modularize the window decorations as C functions

- figure out dynamic loading issues
  - what is guile's support for this?
  - test with the drawmenu.c functions
    -- menu objects should be able to specify a .o file containing
       the functions they want to use to do the drawing

- Write some graphical reconfiguration tools.

- Interactive move/resize should permit using a real color, not just
an xor-value, as an option

- Opaque resize -- afterstep and others do this

- Rename scwm/scwm directory to scwm/src

- Quote key feature -- like C-q in Emacs, C-v in shells

- Eventually, a total rewrite will probably be needed to allow release
under GPL and reorganize years of layered cruft.

- Undo feature?

Done:

- Clean out all of the artifacts of the FVWM function system.
  [ I think that stuff is all gone now - MS ]

- Respond to scwmsend-s via some reasonable iccm
  - libICE?
  - ToolTalk?
   [ both of these are way too complicated, the new X properties
     method is lightweight but should be able to support what
     we need - MS]

- legacy module interface -- see utilities/dev/fvwm2-pager-demo
   [ done, see the fvwm-module module - MS ]

- replace MyFont struct w/ scheme-object based -- font scheme wrappers
still use the MyFont garbage; clean this up [ done - MS ]

- Finish implementing (useful) Fvwm functions as Scheme procedures. 
[this is mostly the style, decor, desk and path stuff,
modules should be punted.]

- Make scwm work with autoconf.

- Synthetic mouse presses

- Synthetic key presses

- Animated window shades --gjb 11/9/97 
