"Fossies" - the Fresh Open Source Software Archive

Member "twander-3.231/WHATSNEW.txt" (1 Jul 2009, 44015 Bytes) of package /linux/privat/old/twander-3.231.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 WHATSNEW For 'twander' 3.231    (Wed Jul  1 15:16:51 CDT 2009)
    2 ----------------------------------------------------------------------
    3 
    4 NEW FEATURES
    5 
    6 - It is now possible to select the number of digits of precision to
    7   display when scaling file lengths (i.e., when ACTUALENGTH is set or
    8   toggled to False).  A new variable, SCALEPRECISION (Default: 1), has
    9   been implemented to support this.  SCALEPRECISION sets how many
   10   digits to the right of the decimal point to display in the scaled
   11   length.  Notice that this does not do proper rounding and thus the
   12   rightmost digit can be off by -1.
   13 
   14 - It is now possible to do case-insensitive matching of both
   15   Association and Association Exclusion patterns on Unix-like systems
   16   (this is the default on Win32 systems).  This is done by prepending
   17   the "/" symbol to the beginning of the pattern:
   18 
   19     ASSOC !     /*tXt  # Exludes files ending in txt, TXT, TxT, TXt, ...
   20     ASSOC /*txT emacs [SELECTION] # Invokes emacs for files ending as above
   21 
   22   Notice that exclusions have higher precedence than associations.  In
   23   the example above, files ending in txt, Txt, and so on would always
   24   be excluded and the association with emacs would never happen.
   25 
   26 
   27 CHANGES
   28 
   29 - None
   30 
   31 
   32 BUG FIXES
   33 
   34 - Any selections and/or the active marker are now properly preserved
   35   if files are added or deleted between rereads of the directory.
   36   Previously, the list of active/selected items was kept by position.
   37   Now it is preserved by name and thus will be correct even if the
   38   position of an item changes in the list.  This means that if a
   39   selected/active item is renamed, it will lose its
   40   selection/activation on the next directory update.
   41 
   42 - Symbolic links pointing to directories using a relative path were
   43   not being properly sorted as directories the first time the
   44   containing directory was entered, even if SYMDIR was set to True.
   45 
   46 
   47 DOCUMENTATION
   48 
   49 - The 'twander' license has been relaxed to permit commercial
   50   use of the program without any payment requirments.
   51   Voluntary donations are gladly accepted however ;)
   52 
   53 - The manual has been updated to reflect the new features.
   54 
   55 
   56 WHATSNEW For 'twander' 3.224    (Fri Jun  1 15:15:22 CDT 2007)
   57 ----------------------------------------------------------------------
   58 
   59 NEW FEATURES
   60 
   61 - Implemented option to display date/time in  ISO 8601 format (ISODATE,
   62   default: False)
   63 
   64 - Removed trailing spaces from lines in sample configuration file.
   65 
   66 - Directory Shortcut Definitions may now contain references to
   67   variables (user-defined, environment, or execution).  This
   68   enables definitions like:
   69 
   70     ~ = [$HOME]
   71 
   72     DIRSC1 = [~]/Desktop       # User-defined variable
   73     DIRSC3 = [$HOME]           # Environment variable
   74     DIRSC5 = [`echo "/tmp"`]   # Execution variable (but silly)
   75 
   76   If you use one of these forms, it's up to you to make sure that when
   77   when the variables are dereferenced (substituted), the resulting string
   78   is the name of a directory. Be careful, you may not spot a definition
   79   that is not a directory right away. Variables are dereferenced at
   80   runtime not at the time the Configuration File is read in. Therefore,
   81   Directory Shortcut assignments with variable references in them are shown
   82   literally in the Shortcut Menu. twander cannot know what the value of
   83   the variable will be until you actually press the relevant shortcut key. 
   84 
   85 - The display of symbolic links has been enhanced with the introduction
   86   of several new program options:
   87 
   88   By default, symbolic link targets are now displayed as originally defined
   89   when the link was created.  The old behavior was to display the absolute
   90   path of the target.  A new program option, SYMRESOLV (default: False)
   91   has been introduced.  You can get the old behavior by setting this to True.
   92 
   93   A new program option, SYMEXPAND (default: True) has been added.  By
   94   setting this option to False, the targets of symbolic links will not
   95   be displayed, only the symbolic link name.  Setting this option to
   96   False effectively causes symbolic links to be displayed like any other
   97   file or directory.
   98 
   99 - Added key bindings to toggle the various symbolic link program options:
  100 
  101    Option        Key Name       Default Binding
  102    ------        --------       ---------------
  103 
  104    SYMDIR        TOGSYMDIR      Control-~
  105    SYMEXPAND     TOGSYMEXPAND   Control-!
  106    SYMRESOLV     TOGSYMRESOLV   Control-@
  107 
  108 
  109   Toggling the state of SYMRESOLV implies you want to view symlink
  110   targets, so this option also forces SYMEXPAND to True as well.
  111 
  112 - The title bar now displays the state of these various symbolic
  113   link options in the form:
  114 
  115      Symlinks: <Status>  where status is one or more of:
  116 
  117      D or F - Symlinks pointing to directories are sorted
  118               as Directories or Files (state of SYMDIR).
  119 
  120      E      - Present only if symlink expansion is enabled
  121               (SYMEXPAND=True).
  122 
  123      R      - Present only if absolute symlink target resolution
  124               is enabled (SYMRESOLV=True).
  125 
  126 CHANGES
  127 
  128 - The title bar directory display will now use "~" to indicate
  129   a directory relative to the user's home directory (to save
  130   title bar space).
  131 
  132 
  133 BUG FIXES
  134 
  135 - If SYMDIR=False, symlinks that pointed to directories did not end
  136   with trailing path separator.
  137 
  138 - Symlink named as dotfiles were not being hidden when HIDEDOT=True.
  139 
  140 
  141 
  142 WHATSNEW For 'twander' 3.210    (Tue Dec 19 04:09:39 CST 2006)
  143 ----------------------------------------------------------------------
  144 
  145 NEW FEATURES
  146 
  147 - Implemented Association exclusions.  You can now exclude the named
  148   file types from being associated with an application:
  149 
  150     ASSOC !   *.txt *.ps *.pdf
  151 
  152 
  153   This is handy if you want to use a default association for most
  154   things, but have a select group of files not be affected by the
  155   default and thereby passed down to the OS for normal processing.
  156 
  157 - Any association (normal, default, exclusion) can be removed by
  158   leaving the right-hand-side blank:
  159 
  160     ASSOC *.foo
  161     ASSOC *
  162     ASSOC !
  163 
  164   This is useful within conditional blocks when you want to define
  165   'twander' behavior differently based on some condition you're
  166   checking.  Another use is to undefine an Association that was put in
  167   place in a global configuration you .included into your setup.
  168 
  169 CHANGES
  170 
  171 - All association checks are now case-insensitive under Windows.
  172 
  173 - Association "types" now support filename "globbing" meta-
  174   characters.  This means that association statements supported in the
  175   previous release need to be changed slightly.  This:
  176 
  177     ASSOC .txt  ...
  178 
  179   Need to be changed to this:
  180 
  181     ASSOC *.txt ....
  182 
  183   This feature enables far more complete filename type specification
  184   than was previously possible with just the "filename ends with .."
  185   semantic.
  186 
  187 - If a file is selected and the user double-clicks or hits "Enter",
  188   and that file is not executable AND has no applicable association
  189   defined, 'twander' will present an error message.  It does this
  190   only on the Unix-like systems.  On Windows, the request is
  191   handed down to the underlying OS without comment because
  192   Windows itself may have an applicable association.
  193 
  194 
  195 DOCUMENTATION
  196 
  197 - The manual has been updated and corrected in several places.
  198 
  199 - Documentation for the new features has been added.
  200 
  201 
  202 WHATSNEW For 'twander' 3.204    (Sat Dec 16 02:37:58 CST 2006)
  203 ----------------------------------------------------------------------
  204 
  205 NEW FEATURES
  206 
  207 - A new boolean configuration option, CMDMENUSORT (default: False),
  208   has been added.  This allows the user to force the Command Menu to
  209   appear in sorted order (as opposed to the default which is to
  210   display commands in the order they are defined).
  211 
  212 - It is now possible to temporarily assign the current directory to
  213   any of the Directory Shortcut keys.  The user presses KDIRSCSET
  214   (default: Control-8) and is presented with a dialog to enter which
  215   of the 12 Directory Shortcut keys to load with the current
  216   directory.  This allows directory waypoints to be saved as shortcuts
  217   during the user's workflow.  The shortcuts revert to the definitions
  218   found in the Configuration File if the program is exited and
  219   restarted or if a configuration reload (default: Control-r) is
  220   initiated within the running program.
  221 
  222 - A new configuration verb, ASSOC, has been added to implement file
  223   "Associations".  Associations allow the user to define which program
  224   to start when the user selects a non-executable file and does a
  225   mouse doubleclick or presses "Enter".  For example, this
  226   configuration statement associates files whose names end with the
  227   string ".text" with emacs:
  228 
  229     ASSOC .text emacs [SELECTION]
  230 
  231   There is also provision for a "default" association that is invoked
  232   if the user double-clicks or presses "Enter" on a non-executable
  233   file that has no specific association defined for it:
  234 
  235     ASSOC *  MyFineEditor [SELECTION]
  236 
  237   The right-hand-side of association statements can make use of almost
  238   all of the 'twander' configuration language features such as runtime
  239   prompting, symbolic variable substitution, execution variables, and
  240   so forth.
  241 
  242 
  243 CHANGES & BUG FIXES
  244 
  245 - The default mouse assignment to popup the shortcut menu (MOUSESC)
  246   has been moved to Alt-Control-LeftButton.  This was necessary
  247   because the previous assignment interfered with the mouse command to
  248   move up a directory level (MOUSEUP).
  249 
  250 - The "Shortcut Key" help menu has been removed.  It was redundant
  251   with the identical menu on the menu bar and mouse popup menu.
  252 
  253 - The titlebar status strings have been shortened to keep to overall
  254   title length more reasonable.
  255 
  256 - Selected help menus have now been formatted into 3 columns (as
  257   opposed to the previous 2 column format) to make long help screens
  258   fit on the display better.
  259 
  260 - A new help menu, "Associations" has been added to display any
  261   user-defined Associations (as described above).
  262 
  263 - The order of the help menus has been changed to be slightly more
  264   intuitive (to the author anyway :).
  265 
  266 
  267 DOCUMENTATION
  268 
  269 - The new features and changes are reflected in the manual.
  270 
  271 - The example Configuration File (.twander) now contains examples of
  272   "Execution Variables".  These were introduced in 3.193 but examples
  273   were not included in the example configuration.
  274 
  275 
  276 
  277 WHATSNEW For 'twander' 3.195    (Thu Feb 17 14:57:28 CST 2005)
  278 ----------------------------------------------------------------------
  279 
  280 BUG FIXES
  281 
  282 - Fixed bug that counted the ".." entry in the total number of files
  283   displayed on the title bar.  Now the title bar only counts actual
  284   files or directories within the currently-viewed directory.
  285 
  286 
  287 CHANGES
  288 
  289 None
  290 
  291 
  292 NEW FEATURES
  293 
  294 - You can now choose whether or not to display so-called 'dotfiles'.
  295   By convention on Unix and many other systems, files beginning
  296   with a dot ('.') are usually used as configuration files.  Unless
  297   you specifically want to edit a configuration, you typically do
  298   little or nothing with these files.  Since there can be quite
  299   a few of them on a modern system, it's helpful to be able to
  300   block them from view.  This feature is enabled with:
  301 
  302   Key Binding:  TOGHIDEDOT   (default: Control-9)
  303   Option:       DOTFILE      (default: .)
  304   Option:       HIDEDOTFILES (default: False)
  305 
  306   HIDEDOTFILES determines whether or not to hide the dotfiles.
  307   TOHIDEDOT "toggles" the state of HIDEDOTFILES from the
  308   keyboard.  You can also set the initial state of HIDEDOTFILES
  309   in your configuration file.
  310 
  311   DOTFILE sets what a "dotfile" begins with.  Ordinarily, this
  312   is just ".", however you can change it.  If, say, you set
  313   DOTFILE to "D", then a files or directories, whose names begin with
  314   the letter "D" will be hidden.  DOTFILE can be any valid string.
  315 
  316   A few notes on hiding dotfiles:
  317 
  318   HIDEDOTFILES sets the initial state of the option when used
  319   in the configuration file, but it can still be toggled with
  320   TOGHIDEDOT.
  321 
  322   Unlike Wildcard Filters (which test the entire displayed line),
  323   dotfile hiding is triggered only by the name of the file or
  324   directory.
  325 
  326   If you change DOTFILE to some other string, be aware that
  327   the test to see if a file (or directory) name starts with
  328   this string is *case-sensitive*.  If you set DOTFILE to "De",
  329   it will not hide files starting with "de", for example.
  330 
  331   The current state of dotfile hiding is displayed in the window
  332   title bar, immediately after the Filter information.
  333 
  334   Note that even though you cannot see the files with this option
  335   enabled, commands you write can still operate on these
  336   files.  For example, if you define a command that does something
  337   like:
  338 
  339      c clean rm .*~ *~
  340 
  341   This command will remove any backup (~) files, whether or not
  342   you can see them in the interface.
  343 
  344 
  345 
  346 WHATSNEW For 'twander' 3.193    (Fri Feb  4 17:38:14 CST 2005)
  347 ----------------------------------------------------------------------
  348 
  349 ****** IMPORTANT NOTE *****
  350 
  351 As of this release, several configuration keywords have changed:
  352 
  353   The delimiters for the PROMPT and YESNO features have changed
  354   from [] to {}.
  355 
  356   The WILDCARD= option is no longer supported (or relevant).
  357   Two new options, WILDFILTER = and WILDSELECT=, have replaced it.
  358 
  359 Existing configurations files that use these will have to be changed
  360 to reflect this.
  361 
  362 
  363 BUG FIXES
  364 
  365 - Fixed longstanding problem that prompt strings within PROMPT and
  366   YESNO builtins were not preserved as written by the user.
  367   Previously, multiple spaces were replaced with a single space.  This
  368   is now fixed, and both prompts and the new default feature will be
  369   preserved exactly as written.
  370 
  371 - It was previously possible to create a circular .include chain.
  372   This is now explicitly checked for and prevented.
  373 
  374 - Previously, if you used the -t command line option to suppress
  375   quoting and then reloaded a configuration file, quoting would go
  376   back to its default behavior (quoting with the " character).  Now,
  377   specifying -t suppresses quoting, even after a configuration reload.
  378 
  379 
  380 CHANGES
  381 
  382 - Changed the behavior of forced clearing with AFTERCLEAR option.
  383   Previously this deselected all active selections AND repositioned
  384   cursor to top of directory listing.  This was inconvenient with a
  385   large directory list.  Behavior now is to only clear active
  386   selections.  Cursor is left at approximately the same location in
  387   the displayed list.
  388 
  389 - Variable references are now evaluated at command *execution* time.
  390   (Previously they were evaluated at command definition time).  This
  391   was done to make it possible to include variable references
  392   within PROMPT and YESNO operations that would not be evaluated
  393   until the command was actually run.
  394 
  395 - File lengths are now normalized for files > 1KB, 1MB, and 1GB.
  396   Previously files less than 1MB were shown as actual length and files
  397   greater than 1GB were expressed in MB.  These normalized lengths
  398   are now more accurately rounded than they were previously.
  399 
  400 - A new option, ACTUALLENGTH (Default: False), can be set to display
  401   actual rather than normalized file lengths.  This can be toggled
  402   with a new key binding, TOGLENGTH (Default: Control-0).
  403 
  404 - File and drive (Win32 Drive List View) lengths are now displayed
  405   right-justified within their respective fields.  This makes both
  406   normalized and actual length displays easier to read.
  407 
  408 - The Wilcard Menu has been replaced with the Filter and Select
  409   Menus to reflect the fact that wildcards can now be used in
  410   two different ways: Filtering (new) and Selection (as before).
  411 
  412 - The MOUSEWILD key binding has been renamed to MOUSEWILDSEL.  This
  413   will have no effect on configuration files since mouse bindings
  414   cannot be changed.
  415 
  416 - Selection by wildcard is now case-insensitive on Win32 by
  417   default.  This can be changed with the WILDNOCASE option.
  418 
  419 - Debug option Bit 8 (0x100) now dumps the content of both the
  420   Filtering and Selection wildcard lists as they change.
  421 
  422 - The menu order on the toolbar was changed so that related menus
  423   were grouped together.
  424 
  425 
  426 NEW FEATURES
  427 
  428 - Added ability to insert a default value for PROMPT and YESNO
  429   builtins.  Syntax is: [BUILTIN:prompt text==>default text].  For
  430   YESNO, the default text can only be "Yes" or "No" (case-
  431   insensitive).  
  432 
  433   The default separator string, "==>" can be changed by setting the
  434   new DEFAULTSEP option variable.   Be careful to not use
  435   any of the characters, []{}, in this delimiter string.  The
  436   program will get confused since it sees these as variable/builtin
  437   delimiters.
  438 
  439 - Added support for "Execution Variables".  These are similar to Unix
  440   shell "backtick" references.  You do this in one of two forms:
  441 
  442       var = [`command string`]
  443 
  444          Sets var to string returned by executing "command string".
  445          Any terminating newline is stripped off.
  446 
  447 
  448       var = [`-command string`]
  449 
  450          Sets var to string returned by executing "command string".
  451          *All* newlines are replaced with spaces.
  452 
  453 - It is now possible to embed variable references inside PROMPT
  454   and YESNO builtins. For example, you can do things like:
  455 
  456        PROMPT = New File Name?
  457        r rename mv [SELECTION] {PROMPT:[PROMPT]==>[SELECTION]}
  458 
  459   This brings up a prompt with a default of the filename to
  460   be renamed - this allows you to modify the existing name easily,
  461   without having to type the whole name in.
  462 
  463   You can embed references to  execution variables, builtin variables,
  464   user variables, and environment variables anywhere within 
  465   PROMPT or YESNO constructs.
  466 
  467   Note that because variables are now resolved when the command is
  468   actually run, execution variables are evaluated anew *each time*
  469   a command is run:
  470 
  471        c count echo [`ls | wc`]
  472 
  473   To the keep the parser reasonably sane, the delimiters for PROMPT
  474   and YESNO have changed from [] to {}
  475 
  476   NOTE:  Existing configuration files will have to be changed.
  477          The older [PROMPT ...] and [YESNO ...] forms are no
  478          longer supported.
  479 
  480 - It is now possible to use a wildcard to "filter" which files are
  481   displayed in a given directory.  This is helpful when a directory
  482   contains many files, but you are only interested in a subset of
  483   them.
  484 
  485      The rules are the same as for selection wildcards.  By default,
  486      the string you enter can appear anywhere in the displayed line
  487      for the filter to declare a match.  You can escape this by
  488      prepending a double-quote to your filter expression.  In that
  489      case, your entry is treated literally as the wildcard
  490      specification used for matching.
  491 
  492      This feature is invoked with new key binding, FILTERWILD
  493      (Control-=).
  494 
  495      The filter is reset when directory is changed or on a REFRESH
  496      (Control-l).
  497 
  498      The filter is applied to entire line in detailed view or just the
  499      filename otherwise.
  500 
  501      Note that *selection* by wildcard scans the currently-displayed
  502      list of files and selects them, but *filtering* by wildcard scans
  503      the *entire list of files in the current directory*, displaying
  504      only those that match.
  505 
  506      The filter is never applied to the ".." entry.  That is, the the ".."
  507      entry always appears regardless of the wildcard filter in effect.
  508 
  509      The old Wildcard menu has been replaced by the Filter (Accel:
  510      Alt-f) and Selection (Accel: Alt-t) menus that track wildcards
  511      used for filtering and selection separately.
  512 
  513      The WILDCARD= configuration statement has been replaced by the
  514      WILDFILTER= and WILDSELECT= statements.  These are used to
  515      preload the Filter and Selection menus respectively.
  516 
  517      A new mouse binding, MOUSEWILDFILTER (Alt-Control-MiddleButton)
  518      has been added to popup the Filter menu near the current mouse
  519      position.
  520 
  521      A new filter wildcard is always applied against the *entire* directory
  522      list, not just what is currently displayed.
  523 
  524      Filter logic can be inverted with TOGFILT (Control-minus) key.
  525      Supported by INVERTFILTER (Default: False) option. Sets initial state.
  526 
  527      Wildcard filters are case-insensitive on Win32 by default and
  528      case- sensitive on all other systems.  This can be overriden with
  529      the WILDNOCASE option.  Escaped wildcard specifications are
  530      always treated literally regardless of this option's setting.
  531      
  532 
  533 
  534 twander 3.160  (1-12-2005):
  535 ===========================
  536 
  537 BUG FIXES
  538 
  539 - The keybinding definitions for the History and Wildcard mouse popup
  540   menus were missing.  MOUSEHIST and MOUSEWILD are now defined.  Like
  541   all other MOUSE bindings, these cannot be overriden by the user.
  542 
  543 - The program would lockup when browsing a piece of removeable media,
  544   if the media was then removed.  The refresh logic now catches this
  545   error and resets the view to the starting directory in this case.
  546   This is not foolproof.  The program will still lockup in this case
  547   if the starting directory itself is no longer readable - i.e., It to
  548   is (was) on a piece of removed media, for example.
  549 
  550 - The copyright symbol that appears in the About menu and command line
  551   help was not portable.  Changed to a textual equivalent "(c)".
  552 
  553 - Quite a bit of formatting cleanup in the documentation, especially
  554   the HTML version.
  555 
  556 
  557 CHANGES
  558 
  559 - In previous versions, symbolic links were always treated as files
  560   for purposes of sorting, if a "separated" sort (of directories and
  561   files) was requested (the default).  Symbolic links that point to
  562   directories are now sorted as directories in this case.  If you
  563   prefer the old style behavior, set the new option, SYMDIR, to False.
  564 
  565 - Since version 3.146, 'twander' commands could be defined or entered
  566   to force a refresh when the command completes (by placing a '+'
  567   symbol as the first character of the command).  As of this release,
  568   this feature also clears all active selections and repositions the
  569   cursor under the first entry on the screen ("..").  This was done
  570   because commands requesting screen refresh presumably do something
  571   that changes the content of the currently viewed directory (such as
  572   a file delete).  In this case, the active selections may not make
  573   sense any longer.  A new option, AFTERCLEAR, can be set to False to
  574   revert to the old behavior that just did the refresh and left the
  575   active selections alone.
  576 
  577 - The internal variable that sets the GUI polling interval (POLLINT)
  578   has been changed from a nominal 20ms to 250ms.  This is the interval
  579   at which the program checks to see whether or not it is time to
  580   reread the current directory if AUTOREFRESH is enabled.
  581 
  582 - In previous versions, if AUTOREFRESH was enabled, the program would
  583   attempt to reread the current directory every REFRESHINT ms
  584   (nominal).  This could be a problem on very large/slow directory
  585   reads (such as optical media) because as soon as one refresh was
  586   done, it would be time for another.  This effectively locked the
  587   program up because it was constantly doing directory reads leaving
  588   no time for user interaction.  With this release, the refresh
  589   interval is "adaptive" by default.  Each directory refresh time is
  590   measured and the refresh interval is dynamically adjusted to reflect
  591   the actual amount of time needed to read a given directory.  The
  592   refresh interval is then "stretched" a bit, to give you time to
  593   interact with the directory before another refresh begins.  In no
  594   case will this value ever be less than the value of REFRESHINT.  A
  595   new option, ADAPTREFRESH, enables this feature by default.  If
  596   ADAPTREFRESH is set to False, then the program reverts to its old
  597   behavior of stictly observing the REFRESHINT interval.
  598 
  599 
  600 NEW FEATURES
  601 
  602 - Added the FORCEUNIXPATH option.  If set to True, it forces the use
  603   of the Unix path separator character ("/") when substituting
  604   Built-In Variable and Program Memory references in command
  605   definitions.  This is handy when running Unix tools like cygwin
  606   under Windows.  This option is only observed on Windows systems; it
  607   is ignored on other OS platforms.
  608 
  609 - Previous versions primed the Directory menu with the user's
  610   Directory Shortcut definition(s).  This behavior is no longer present.
  611   Instead there is a separate Shortcut menu on the menubar that
  612   displays these values as well as several other shortcuts to go to
  613   up, back, home, and to the starting and root directories
  614   respectively.  A new mouse popup keybinding, MOUSESC
  615   has been defined as Control-Button3 so that this
  616   menu can be popped up at the current pointer location.
  617   On Windows systems using the Win32All extensions, an entry
  618   for a Drive List also appears in the Shortcut menu.
  619 
  620 - Added ability to pop-up the Sorting Menu with Alt-Shift-Button3.
  621   Added the MOUSESORT key binding to define this.
  622 
  623 
  624 twander 3.146  (3-11-2004):
  625 ===========================
  626 
  627 BUG FIXES
  628 
  629 - In previous versions, a redefinition of a particular command key
  630   would cause old and new versions of the definition to appear in the
  631   Command Menu.  This has been fixed.  Now only the command defintion
  632   that is actually active (the last one that appears in the
  633   configuration file) appears in the Command Menu.
  634 
  635 - Entries in the Command Menu now appear strictly in the order of
  636   their definition in the configuration file.  This was not always the
  637   case in previous releases.
  638 
  639 - Help and Debug output is now consistently sorted.
  640 
  641 
  642 CHANGES
  643 
  644 - The title bar no longer has a separate entry to indicate reverse
  645   sorts.  Instead, when sorting is reversed, the field name being used
  646   as the sort key has a '-' appended to it.  This was done to make
  647   the title bar less cluttered and of reasonable length.
  648 
  649 - The directory path displayed on the title bar is now limited to
  650   60 characters.  Paths longer than this are truncated to the last
  651   60 characters and "..." is prepended to the result to indicate
  652   that a partial path is being displayed.  This was done because
  653   some systems, notably Win32, have very long path names.  Moving
  654   to these directories caused the other status information to the
  655   right on the title bar to be lost.
  656 
  657 
  658 NEW FEATURES
  659 
  660 - The RUNCMD feature (default: Control-z) gives you to enter 
  661   commands "on-the-fly".  It has always been possible to
  662   make reference to built-in, user-defined, and environment
  663   variables (via the "[vblname]" mechanism) when entering
  664   commands manually.  The most common use of this feature is
  665   to include a reference to the current directory or item(s)
  666   selected in the GUI as a part of the manual command.  For
  667   instance entering:
  668 
  669     less [DSELECTIONS]
  670 
  671   will let you page through all the files you currently have
  672   selected.
  673 
  674   Since this is used fairly often, "shortcut" forms for many of the
  675   builtins have been implemented.  You can enter either the full
  676   variable name reference or its shortcut when using RUNCMD.  This is
  677   ***only*** for RUNCMD.  Configuration files still require the full
  678   name to be used.  This was an intentional design choice to keep the
  679   configurations consistent and readable.
  680 
  681   Here are the new shortcuts you can use in RUNCMD:
  682 
  683        [D]  for  [DIR]
  684        [DN] for  [DSELECTION]
  685        [DS] for  [DSELECTIONS]
  686        [SN] for  [SELECTION]
  687        [SS] for  [SELECTIONS]
  688        [1]  for  [MEM1]
  689        [2]  for  [MEM2]
  690        [3]  for  [MEM3]
  691        [4]  for  [MEM4]
  692        [5]  for  [MEM5]
  693        [6]  for  [MEM6]
  694        [7]  for  [MEM7]
  695        [8]  for  [MEM8]
  696        [9]  for  [MEM9]
  697        [10] for  [MEM10]
  698        [11] for  [MEM11]
  699        [12] for  [MEM12]
  700 
  701               
  702 
  703 
  704 - The TOGAUTO Key (Default: Control-o) has been added to allow you to
  705   toggle Autorefreshing on- and off.  When working with very
  706   large/slow directory reads, it is handly to temporarily turn off
  707   refreshing (and do it manually as needed with the Refresh - Default:
  708   Control-l) key.  This is simpler than changing and reloading the
  709   configuration file each time you want Autorefreshing disabled.
  710 
  711 - The current state of Autofreshing is now displayed on the main
  712   window title bar.
  713 
  714 - You can now force a display refresh after a command is executed
  715   by placing the REFRESHAFTER symbol (default: '+') at the beginning
  716   of your command string in the configuration file.  This also
  717   works when entered manually via RUNCMD (default: Control-z).
  718   This will take place regardless the current AUTOREFRESH setting.
  719 
  720 - A new user-settable option variable, AFTERWAIT (default: 1) has
  721   been added.  This tells 'twander' how long to wait before
  722   initiating a display refresh requested by the REFRESHAFTER
  723   construct.  This gives the system AFTERWAIT seconds to complete
  724   the command before a display update is done.  See documentation
  725   for subtleties of using this feature.
  726 
  727 - During actual refreshing - whether automatic, manual, because
  728   of a directory change, or because of a REFRESHAFTER demand -
  729   the Autorefresh state on the title bar has "*" appended to it.
  730   Ordinarily, this happens so fast you do not see it.  But on
  731   really long refreshes, the asterisk is a visual confirmation
  732   that the program is busy and not hung.
  733 
  734 
  735 twander 3.135  (3-11-2003):
  736 ===========================
  737 
  738 BUG FIXES
  739 
  740 - Found (and fixed) last-minute bug which caused [DESELECTION]
  741   and [SELECTION] to be returned incorrectly when nothing was
  742   selected in the UI.
  743 
  744 
  745 twander 3.134  (3-11-2003):
  746 ===========================
  747 
  748 BUG FIXES
  749 
  750 - Fixed a problem which caused User-Defined Commands to be processed
  751   with the CMDSHELL option when such commands were re-invoked via the
  752   Command History.  The program now properly applies CMDSHELL
  753   processing (if enabled) *only* to manually entered commands.
  754 
  755 - Previous version allowed FONTDECR to set font sizes to 0 or even
  756   negative values.  Feature is now checked to make sure a font size is
  757   never decremented below 1.
  758 
  759 
  760 CHANGES
  761 
  762 - USETHREADS is now False by default.  Thread implementations
  763   vary so much from system to system it seemed smarter to
  764   make their use a conscious decision.
  765 
  766 - The default for REFRESHINT is now 5000 (up from 3000) which
  767   should make the program work a bit more smoothly "out of the
  768   box" on slower systems and X connections.
  769 
  770 - The About box on the Help Menu now displays the 'twander'
  771   web site information.
  772 
  773 - Quite a bit of new material added to the GOTCHAS section of
  774   the documentation.
  775 
  776 - Boolean Options are now shown as "True" or "False" rather than
  777   1 or 0 in the relevant Help Menu and Debug output.
  778 
  779 - Nothing pre-selected now when entering a new directory. Previously,
  780   the first item ("..") was always selected.  This prevents accidental
  781   navigation on slow/unresponsive systems or X-Windows connections
  782   where you can type faster than the screen can update.
  783 
  784 - The MAXDIR, MAXDIRBUF, MAXHIST, and MAXHISTBUF options have been
  785   removed.  These are replaced by the new MAXMENU and MAXMENUBUF
  786   options which control the depth and display of *all* menus
  787   with dynamic content.
  788 
  789 - User-Defined Variables, Directory Shortcuts, and Command Definitions
  790   can now be redefined within the same Configuration File.  This was
  791   done to better exploit the new conditional operators and the new
  792   ".include" directive in the configuration language.  Now you
  793   can maintain a "standard" configuration which everyone on the system 
  794   can ".include", but anything in that configuration can be redefined
  795   locally with your own configuration statements.
  796 
  797 - A blank Right Hand Side is now permitted for all Option Statements.
  798   It means that the statement in question is simply ignored.  This was
  799   done to make Option Statements consistent with Directory Shortcut
  800   and User-Defined Variable Statements, both of which allow a blank
  801   RHS.
  802 
  803 - Because the RHS of a String Option can now be blank, the ""
  804   construct is no longer necessary to disable CMDSHELL.  An entry in
  805   the form 'CMDSHELL = ' will do.  
  806 
  807   VERY IMPORTANT: if for some reason you have a line like 'CMDSHELL =
  808   ""' in your Configuration File, remove it!  Otherwise a pair of
  809   double-quotes will be prepended to every RUNCMD you issue - almost
  810   certainly not what you want.
  811 
  812 - The "escape" character to escape (defeat) CMDSHELL processing has
  813   been changed from \ to ".  This was done for two reasons.
  814   First, the backslash character may occasionally be necessary to
  815   escape the first letter of a command string.  More importantly, the
  816   " is used to escape for the new Wildcard feature.  CMDSHELL was
  817   thus changed so both features which permit "escapes" would use the
  818   same character for consistency.
  819 
  820 - The Free Space and Total Space of each drive in Drive List View
  821   are now shown in separate columns to make sorting order clearer.
  822 
  823 - The FreeBSD port Makefile has been cleaned up and updated.
  824 
  825 
  826 NEW FEATURES
  827 
  828 - Wildcard-Based Selection
  829 
  830   It is now possible to select items using a user-specified wildcard
  831   with the SELWILD feature. (default: Control-\) This feature makes
  832   the full power of Python regular expressions available for selecting
  833   the items desired.  You may enter any literal text *or any
  834   legitimate Python regular expression* in the SELWILD dialog and all
  835   lines with matching expressions will be selected.  (Note that the
  836   "wildcards" used here are *not* the same thing as the standard Unix
  837   shell wildcard "globbing" used for naming files.)  For example, if
  838   you enter: \.exe  all files or directories which have the string
  839   ".exe" somewhere on their display line will be selected.  SELWILD
  840   will never include ".." in any wildcard-based selection even if
  841   that entry matches the regular expression.
  842 
  843   By default, SELWILD will select an entry when your regular
  844   expression matches *anything on the displayed line*.  This allows
  845   you to make selections based on any visible column of information.
  846   Of course, if you have details turned off, the check for matching
  847   will be done only against the file or directory name (since that's
  848   all that is visible).  
  849 
  850   This "match anywhere on the line" semantic is possible because
  851   SELWILD automatically massages the regular expression you provide to
  852   make any match on the line true.  There may be times when you want
  853   to provide very specific regular expression definitions which seek a
  854   match at specific locations.  In that case, you can prevent SELWILD
  855   from fiddling with your regular expression, by beginning it with the
  856   " character.  SELWILD understands this to mean that your regular
  857   expression is to be treated literally without modification. (It only
  858   throws away this leading " escape character.)
  859 
  860   Because regular expressions can get complicated and tedious to type
  861   in, any such expression you use is saved in a history available via
  862   the Wildcard Menu.  The menu can be invoked by clicking on its
  863   button, pressing Alt-w, or Alt-Control-Right-Mouse-Button.  (Note
  864   that on Win32 you *must* press Alt then Control then
  865   Right-Mouse-Button for this to work.  Win32 appears to care deeply
  866   about keystroke order.)
  867 
  868   You can also preload that menu with commonly used wildcards by
  869   placing multiple statements like this in your Configuration File:
  870 
  871           WILDCARD = some-regular-expression
  872 
  873   These will appear in the Wildcard Menu in the order they were
  874   defined.  Bear in mind that only the first MAXMENU number of items
  875   will actually appear in the Wildcard Menu.  Again, SELWILD will
  876   check the first character of your regular expression and "escape" it
  877   if that character is ".
  878 
  879   There is a new debug bit which will display the Wildcard stack as it
  880   changes.
  881 
  882 - Advanced Sorting Options
  883 
  884   You can now sort by any of the detail columns *whether or not
  885   details are currently displayed*. Shift-F1 sorts by the leftmost
  886   column, Shift-F2 sorts by the second from left column, and so forth.
  887   Shift-F10 selects no sorting which means items will be displayed in
  888   the order they are reported by the operating system.  Shift-F11
  889   reverses the sort order, and Shift-F12 toggles whether or not
  890   directories and files should be separated when sorting and
  891   displaying.  These sort options are also available via a new Sort
  892   Menu which can be opened by clicking on its menu button or pressing
  893   Alt-s.  There is no mouse shortcut for sorting options.
  894 
  895   The current sort parameters are displayed on the Titlebar and
  896   the name of the sort key field is automatically adjusted 
  897   depending on whether you are in Normal or Drive List View.
  898 
  899   You can set your desired default sorting order via three new
  900   options in the Configuration File.
  901 
  902     Option          Default       Possible Values
  903 
  904     ---------------------------------------------
  905 
  906     SORTBYFIELD     Name          No Sort, Permissions, Links,
  907                                   Owner, Group, Length,
  908                                   Time, Name
  909 
  910     SORTREVERSE     False         True, False
  911 
  912     SORTSEPARATE    True          True, False
  913 
  914 
  915 - Conditional Processing Of Configuration File Statements
  916 
  917   It is now possible to include or exclude statements in the
  918   Configuration File based on certain conditions.  This makes it easy
  919   to maintain a single such file that works across all the different
  920   operating systems and with many different users.
  921 
  922   A Condition Block begins with a Condition Test Statement and ends
  923   with '.endif'. If the Condition Test evaluates to be True, all the
  924   lines up to the matching '.endif' are included in the configuration.
  925   If False, all these lines are ignored.  Conditionals may be nested
  926   without limit.  'twander' keeps track of which '.endif' matches which
  927   Condition Test Statement.  Like all Configuration File entries,
  928   whitespace is ignored when processing Conditional Statements and you
  929   are free to indent (or not) as you see fit.
  930 
  931   Condition Test Statements are one of three types:
  932 
  933   #####
  934   # Existential: True if FOO or $FOO are defined
  935   #####
  936 
  937   .if [FOO]
  938      ...
  939   .endif
  940 
  941   .if [$FOO]
  942      ...
  943   .endif
  944 
  945   #####
  946   # Equality: True if FOO or $FOO are literally
  947   # the same as the test-string
  948   #####
  949 
  950   .if [FOO] == test-string
  951         ...
  952   .endif
  953 
  954   .if [$FOO] == test-string
  955         ...
  956   .endif
  957 
  958   #####
  959   # Inequality: True if FOO or $FOO are literally
  960   # not the same as the test-string
  961   #####
  962 
  963   .if [FOO] != test-string
  964         ...
  965   .endif
  966 
  967   .if [$FOO] != test-string
  968         ...
  969   .endif
  970 
  971   
  972   Note that the test always depends first on a *variable reference*
  973   ([FOO], never just FOO), but that the Right Hand Side of
  974   an in/equality test is just a string comparsion - no variable
  975   expansion is done.  This will not work as you might expect:
  976 
  977   .if [FOO] == string[BAR]
  978 
  979   To make it easy to create conditional blocks based on the type of
  980   system you're running, 'twander' now automatically pre-defines two
  981   variables which provide information about your system:
  982 
  983   Variable Name     Typical Values
  984   --------------------------------
  985 
  986    .OS              nt, posix
  987    .PLATFORM        freebsd4, linux-i386, win32
  988 
  989  Note that these predefined variables also begin with a period to
  990  remind you of their intended role.  They will thus also sort first in
  991  the User-Defined Variables section of the Help Menu.
  992 
  993  See the example .twander file provided in the distribution for
  994  some extended examples of using conditinals in your Configuration
  995  File.
  996 
  997 - The New ".include" Directive
  998  
  999   The configuration language now supports a means of including
 1000   other files in your configuration.  This makes it easy to, say,
 1001   have a "standard" configuration that everyone can use as a starting
 1002   point like this:
 1003 
 1004 
 1005   .include /usr/local/etc/.twander.global
 1006 
 1007    # Your configuration lines go here
 1008 
 1009 
 1010    You may have as many ".include" directives in your Configuration File
 1011    as you like.  The only requirement is that there be whitespace between
 1012    the directive and the filename.
 1013 
 1014 
 1015  
 1016 
 1017 
 1018 twander 3.0  (2-17-2003):
 1019 ========================
 1020 
 1021 - The licensing terms have been clarified.  Non-Commercial use of the
 1022    program is free with a $20 US per user donation recommended.
 1023    This fee is mandatory for commercial users.
 1024 
 1025 - A Quick Start introduction to 'twander' is now included in the
 1026   distribution.  See 'READ-1ST.txt'.
 1027 
 1028 - *MANY* bug fixes and code cleanup including a nasty one with
 1029    RH linux that prevented 'twander' from opening the user's
 1030    home directory.
 1031 
 1032 - Most program features and options are now settable in the
 1033   configuration file AND you can set your default twander command line
 1034   arguments in an environment variable called TWANDER.
 1035 
 1036   The priority of options processing, from lowest to highest is:
 1037 
 1038              1) Defaults coded into program
 1039              2) Options set in configuration file
 1040              3) Options set in environment variable
 1041              4) Options set on command line.
 1042 
 1043 - The -b, -f, -n, -w, -s, -x, -y command line options have
 1044   been removed because these options are not settable as
 1045   options in the configuration file.
 1046 
 1047 - Width/Height now default to 800 and 600 pixels respectively.
 1048   Previous versions did not really count pixels correctly.
 1049   You can also specify the starting position on screen in pixels.
 1050 
 1051 - You can now include references to any of the variable types
 1052   in a manually entered command line.  Syntax is the same as for
 1053   command definitions in the configuration file.
 1054 
 1055 - Various help menus have been added. 
 1056 
 1057 - Command History has been implemented and is available via a new
 1058   menu.
 1059 
 1060 - There are now accelerator key and mouse shortcuts for each of the
 1061   menus.
 1062 
 1063 - A new "Directory Shortcuts" feature has been added. You can
 1064   specify up to 12 directories which will be preloaded into
 1065   the Directory Menu (as if you'd already visited them) AND
 1066   you can move to each of them via one of the Function keys.
 1067 
 1068 - twander debug facilities have been vastly improved. The -d
 1069   command line argument now takes a mandatory "debug level"
 1070   as an argument.  This is a bitfield (which can be expressed
 1071   in either decimal or hex) in which each bit indicates a
 1072   kind of degbug output you'd like.
 1073 
 1074 - There is a new Built-In variable called [YESNO:some text].  It
 1075   allows you to put a Yes/No popup during command execution.
 1076   If the user presses "No", the command is aborted.
 1077 
 1078 - Since Win32 file/directory names are case-insensitive,
 1079   twander now sorts them as such.  Previously, 'ZEBRA' would
 1080   appear before 'echo' in a twander display.
 1081 
 1082 - Most previous error conditions have been changed to warnings so
 1083   that the program is more forgiving and will keep running after
 1084   such a condition.
 1085 
 1086 - The various interactive popup dialogs allow intra-line editing
 1087   with both the local conventions as well as emacs-style key
 1088   editing.  This was true previously, but was not documented.
 1089 
 1090 - If you are running on Win32 and have Mark Hammond's 'win32all'
 1091   extensions installed, a number of Win32-specific features are
 1092   enabled:
 1093 
 1094      a) You can now navigate ".." from root or use the Ctrl-k key to
 1095         get a Drive List View of all available Win32 drives.
 1096 
 1097      b) The file/directory mode will be displayed showing Win32
 1098         attributes.
 1099 
 1100      c) The Win32 user/group names will appear for each displayed
 1101         item, instead of "win32user" and "win32group".
 1102 
 1103 - You can now resize fonts while running 'twander' without having to
 1104   change the respective configuration file parameters.  Two new key
 1105   assignments have been defined to increment or decrement font size.
 1106 
 1107 - You can use the CMDSHELL option to define a string that will be
 1108   prepended to each manually entered command.  The feature is off
 1109   by default.  If enabled, it can be suppressed by entering "\"
 1110   as the first character in the manually entered command.  This makes
 1111   it easy to create a default visual/GUI context for each command you
 1112   enter manually.
 1113 
 1114 - A new "Program Memory" feature is implemented which allows 'twander'
 1115   to maintain up to 12 separate, simultaneous clipboard- like
 1116   memories.  These memories are used to compile names of files and
 1117   directories which you would like to subsequently processs.  There
 1118   are 12 new corresponding Built-In Variables ([MEM1]-[MEM12]) which
 1119   allow command definitions to access the contents of the memories
 1120 
 1121 - TundraWare Inc. is now running  a 'twander-users' mailing list.
 1122 
 1123 ------------------------------------------------------------------------
 1124 twander 2.34  (12-23-2002):    
 1125 ===========================
 1126 
 1127 Initial public release of program