For future versions:
--------------------

- Improve batchmode.

- Automatically reduce an overlarge hash memory request (with suitable
  warning) to 80% (?) of physical memory (is there a wx call to get that?).

- Add ability to let users assign their own keyboard shortcuts.
  First step would be to allow users to edit *_key=char settings in
  GollyPrefs, then (much harder) write a nice UI to change settings
  in Prefs > Keys.  Use KeyBinder code at wxcode.sourceforge.net?

- Allow dragging zoom-in cursor to zoom into rect.

- When pasting an RLE pattern that has a rule specified, it would be
  nice to have Golly switch to that rule (make it optional -- see
  solution proposed in LifeCA).

- Use wxFileName::CreateTempFileName for all temporary files.

- Support toroidal universes (see LifeLab).  Or provide this as part
  of an MCell-compatible lifealgo.

- Add info() command to display current pattern info.
  Add help(html-file) to open the help window and display contents of
  given html file (not necessarily in Help folder).

- Stop generating if pattern becomes empty, constant or p2 (qlife only)
  and display suitable message in status bar.  Or maybe just add
  Gabriel's oscillation detection as an option (see oscar.py).

- Optimize Mac version to use CopyBits rather than wx's DrawBitmap.
  NB. Means creating non-XBM bitmaps (ie. no bit reversal).

- Allow non-rectangular (and disjoint) selections.  First factor out
  all selection stuff to a new Selection class.

- Implement a history bar for hlife.

- Build the Help menu items dynamically by looking at the .html files
  inside the Help folder.  Or maybe read a special Help/menu.data file?

- Add simple methuselah/spaceship/osc/still-life searches as in LifeLab???

- Show error message if user tries to open JPEG file.

User suggestions:
-----------------

[Nick Gotts]
- Need a way to copy exact gen/pop counts to clipboard.
  [No longer necessary now that a script can get this info?]

[Jason Summers]
- For better viewing of patterns that move, have a way to automatically
  move the view X cells horizontally and Y cells vertically every Z gens.
  [Could be done quite easily via a script that prompts for X,Y,Z.]
- Allow diagonal selection rectangles.

[Dave Greene]
- Provide some way to open current pattern file in user's text editor.
  Maybe just an "Edit Pattern" item in File menu?  And/or option-click
  on pattern/script in navigation panel?
- Provide a way to click-and-drag a selection to move it around.
- Make page and arrow scrolling amounts configurable (in Prefs > View).
- Add a getvisrect() script command that returns current viewport rect
  and a setvisrect(rect) command to change viewport size and location.
- Nicer if getrule always returned a standard form; eg. "B3/S23".
  Could then remove horrible CanonicalRule code in wxrule.cpp.
- Make info window a floating window and keep it open (but update
  its contents) when user loads another pattern.

[H Koenig]
- Multiple windows.  [No real need now that we allow multiple layers.]

[Gabriel Nivasch]
- Make paste pattern semi-transparent.  [Tried it -- somewhat confusing.]
- Add a Default button to each Preferences pane (at bottom left?).

[Bill Gosper]
- Modify info window so it can be used to edit and save comments.
- For scales > 1:1 make the pixel color depend on lg(# of ones in it).

[Brice Due]
- Provide a thumbnail option as an alternative to tiled layers;
  ie. the current layer would be displayed in a large "focal" viewport.
  All layers would be displayed as small, active thumbnails (at left
  or top edge of focal viewport, depending on aspect ratio?).
- Allow mc files to set step base and/or exponent via comment line like
  #X stepbase=8 stepexp=3
