
This README file is meant to accompany a demo program
of "expand ahead".  The demo program can be compiled
for MS Windows or UNIX/Linux.  Most likely, you have
a version that has been compiled for MS Windows,
and that will read in the files on your C:\ directory
for browsing.

Basic Operation
   Fire up the executable.
   After a moment or two, you should see a directory
   full of files displayed.

   Clicking on a folder makes that folder the *focal node*.
   Clicking on the "Up" button shifts focus to the parent
   of the current focal node.

   The "Back" and "Forward" buttons move through the history
   of focal nodes, just like in a web browser.

   Clicking on a regular file causes Windows to launch some
   application to view that file (e.g. Notepad for .txt files,
   Paint for bitmaps, Word for .doc files, etc.)

   Hit the Escape key to exit.

   Try running the application maximized to see lots
   of information.
   Also try reducing the font size, with the Down arrow
   key, to see lots of information.

Display options
   Keys:
      F1 - toggle use of expand ahead
      F2 - switch between 1D and 2D layout
      F3 - toggle icons
      F4 - toggle between column-by-column flow and row-by-row flow
      F5 - toggle between brick layout (i.e. greedy line breaking)
           and grid layout
      F6 - toggle the folder tab style
      F7 - toggle drawing of folder outlines
      F8 - toggle filling-in of folders with a shade of grey
           based on depth
      F9 - toggle antialiasing of text
           Antialiasing makes the text look nicer,
           but you might want to turn this off if you intend
           to take screen shots and experiment with different
           background colours using a flood-fill painting tool.
      F10 - cycle through different text rendering styles
            that use bold text and/or different shades of grey
      F11 - toggle between two fonts: a line-stroke GLUT font,
            and a texture map font.
            The latter is heavier, and may be easier to read,
            but does not look as good when small
      Up Arrow Key - increase font size by 1 pixel
      Down Arrow Key - decrease font size by 1 pixel

   Notice the status information displayed in the upper right corner
   of the window.  This is to show what mode you're in,
   as controlled by F4 and F5.

Browsing other paths
   The default starting path for the program is C:\ on Windows
   and $HOME on linux.
   An alternate starting path can be specified by supplying
   this as a command-line argument when running the program.
   In Windows, this means running the .exe file from a DOS Shell
   and supplying the desired starting path as an argument,
   or doing this within a batch (.bat) file
   that can then be double clicked on whenever you want
   to run it.

Scrollbars
   If the window is too small to display everything,
   even without any expanding ahead of subfolders,
   then scrollbars are shown.
   To scroll, drag with the left mouse button within a scrollbar.

Scrubbing
   When a new focal node is selected, or when the "Back"/"Forward"
   buttons are pressed, an animation shows the transition to
   the new view.  These animations can be "scrubbed" through
   to any point using the right mouse button: holding the
   right mouse button down anywhere in the window makes a
   widget appear that can be dialed (i.e. dragged) clockwise
   or anticlockwise, to go forward or backward through the
   transitions in the history.
   You can dial all the way to the start or end of the
   history by dialing multiple 360 degree revolutions.
   Attempting to dial past the end of the history makes
   the dial turn red.

Performance notes
   The program may be a little slow to respond when the
   window is resized or when a new folder is selected.
   Directories are read in lazily, meaning that things
   should speed up if you start navigating over the
   same directories again and again.
   But be patient with the program, since many subdirectories
   may need to be read initially to determine a good layout for the
   current directory.  (If you find it *really* slow on
   your machine, let me know, but note that it
   is fairly snappy for me on linux and on Windows XP.)

Auxiliary files
   The executable must be run in a directory containing
   the icons subdirectory, which contains .ppm files.

   The glut32.dll file is necessary for this program to run.
   You can leave glut32.dll in the same directory as the program,
   or move glut32.dll to C:\winnt\system32\ or C:\windows\system32\
   or just delete it if you already have glut installed in one
   of those directories.

