- $Id: WHATSNEW.txt,v 1.139 2004/03/11 07:50:12 tundra Exp $
-
- WHAT'S NEW
-
- twander 3.XXX (3-XX-2004):
- ===========================
-
- BUG FIXES
-
- - In previous versions, a redefinition of a particular command key
- would cause old and new versions of the definition to appear in the
- Command Menu. This has been fixed. Now only the command defintion
- that is actually active (the last one that appears in the
- configuration file) appears in the Command Menu.
-
- - Entries in the Command Menu now appear strictly in the order of
- their definition in the configuration file. This was not always the
- case in previous releases.
-
- - Help and Debug output is now consistently sorted.
-
-
- NEW FEATURES
-
- - The TOGAUTO Key (Default: Control-o) has been added to allow you to
- toggle Autorefreshing on- and off. When working with very
- large/slow directory reads, it is handly to temporarily turn off
- refreshing (and do it manually as needed with the Refresh - Default:
- Control-l) key. This is simpler than changing and reloading the
- configuration file each time you want Autorefreshing disabled.
-
- - The current state of Autofreshing is now displayed on the main
- window title bar.
-
- - You can now force a display refresh after a command is executed
- by placing the REFRESHAFTER symbol (default: '+') at the beginning
- of your command string in the configuration file. This also
- works when entered manually via RUNCMD (default: Control-z).
- This will take place regardless the current AUTOREFRESH setting.
-
- - A new user-settable option variable, AFTERWAIT (default: 1) has
- been added. This tells 'twander' how long to wait before
- initiating a display refresh requested by the REFRESHAFTER
- construct. This gives the system AFTERWAIT seconds to complete
- the command before a display update is done. See documentation
- for subtleties of using this feature.
-
- - During actual refreshing - whether automatic, manual, because
- of a directory change, or because of a REFRESHAFTER demand -
- the Autorefresh state on the title bar has "*" appended to it.
- Ordinarily, this happens so fast you do not see it. But on
- really long refreshes, the asterisk is a visual confirmation
- that the program is busy and not hung.
-
-
-
- CHANGES
-
- - The title bar no longer has a separate entry to indicate reverse
- sorts. Instead, when sorting is reversed, the field name being used
- as the sort key has a '-' appended to it. This was done to make
- the title bar less cluttered and of reasonable length.
-
- - The directory path displayed on the title bar is now limited to
- 60 characters. Paths longer than this are truncated to the last
- 60 characters and "..." is prepended to the result to indicate
- that a partial path is being displayed. This was done because
- some systems, notably Win32, have very long path names. Moving
- to these directories caused the other status information to the
- right on the title bar to be lost.
-
-
-
- twander 3.135 (3-11-2003):
- ===========================
-
- BUG FIXES
-
- - Found (and fixed) last-minute bug which caused [DESELECTION]
- and [SELECTION] to be returned incorrectly when nothing was
- selected in the UI.
-
-
- twander 3.134 (3-11-2003):
- ===========================
-
- BUG FIXES
-
- - Fixed a problem which caused User-Defined Commands to be processed
- with the CMDSHELL option when such commands were re-invoked via the
- Command History. The program now properly applies CMDSHELL
- processing (if enabled) *only* to manually entered commands.
-
- - Previous version allowed FONTDECR to set font sizes to 0 or even
- negative values. Feature is now checked to make sure a font size is
- never decremented below 1.
-
-
- CHANGES
-
- - USETHREADS is now False by default. Thread implementations
- vary so much from system to system it seemed smarter to
- make their use a conscious decision.
-
- - The default for REFRESHINT is now 5000 (up from 3000) which
- should make the program work a bit more smoothly "out of the
- box" on slower systems and X connections.
-
- - The About box on the Help Menu now displays the 'twander'
- web site information.
-
- - Quite a bit of new material added to the GOTCHAS section of
- the documentation.
-
- - Boolean Options are now shown as "True" or "False" rather than
- 1 or 0 in the relevant Help Menu and Debug output.
-
- - Nothing pre-selected now when entering a new directory. Previously,
- the first item ("..") was always selected. This prevents accidental
- navigation on slow/unresponsive systems or X-Windows connections
- where you can type faster than the screen can update.
-
- - The MAXDIR, MAXDIRBUF, MAXHIST, and MAXHISTBUF options have been
- removed. These are replaced by the new MAXMENU and MAXMENUBUF
- options which control the depth and display of *all* menus
- with dynamic content.
-
- - User-Defined Variables, Directory Shortcuts, and Command Definitions
- can now be redefined within the same Configuration File. This was
- done to better exploit the new conditional operators and the new
- ".include" directive in the configuration language. Now you
- can maintain a "standard" configuration which everyone on the system
- can ".include", but anything in that configuration can be redefined
- locally with your own configuration statements.
-
- - A blank Right Hand Side is now permitted for all Option Statements.
- It means that the statement in question is simply ignored. This was
- done to make Option Statements consistent with Directory Shortcut
- and User-Defined Variable Statements, both of which allow a blank
- RHS.
-
- - Because the RHS of a String Option can now be blank, the ""
- construct is no longer necessary to disable CMDSHELL. An entry in
- the form 'CMDSHELL = ' will do.
-
- VERY IMPORTANT: if for some reason you have a line like 'CMDSHELL =
- ""' in your Configuration File, remove it! Otherwise a pair of
- double-quotes will be prepended to every RUNCMD you issue - almost
- certainly not what you want.
-
- - The "escape" character to escape (defeat) CMDSHELL processing has
- been changed from \ to ". This was done for two reasons.
- First, the backslash character may occasionally be necessary to
- escape the first letter of a command string. More importantly, the
- " is used to escape for the new Wildcard feature. CMDSHELL was
- thus changed so both features which permit "escapes" would use the
- same character for consistency.
-
- - The Free Space and Total Space of each drive in Drive List View
- are now shown in separate columns to make sorting order clearer.
-
- - The FreeBSD port Makefile has been cleaned up and updated.
-
-
- NEW FEATURES
-
- - Wildcard-Based Selection
-
- It is now possible to select items using a user-specified wildcard
- with the SELWILD feature. (default: Control-\) This feature makes
- the full power of Python regular expressions available for selecting
- the items desired. You may enter any literal text *or any
- legitimate Python regular expression* in the SELWILD dialog and all
- lines with matching expressions will be selected. (Note that the
- "wildcards" used here are *not* the same thing as the standard Unix
- shell wildcard "globbing" used for naming files.) For example, if
- you enter: \.exe all files or directories which have the string
- ".exe" somewhere on their display line will be selected. SELWILD
- will never include ".." in any wildcard-based selection even if
- that entry matches the regular expression.
-
- By default, SELWILD will select an entry when your regular
- expression matches *anything on the displayed line*. This allows
- you to make selections based on any visible column of information.
- Of course, if you have details turned off, the check for matching
- will be done only against the file or directory name (since that's
- all that is visible).
-
- This "match anywhere on the line" semantic is possible because
- SELWILD automatically massages the regular expression you provide to
- make any match on the line true. There may be times when you want
- to provide very specific regular expression definitions which seek a
- match at specific locations. In that case, you can prevent SELWILD
- from fiddling with your regular expression, by beginning it with the
- " character. SELWILD understands this to mean that your regular
- expression is to be treated literally without modification. (It only
- throws away this leading " escape character.)
-
- Because regular expressions can get complicated and tedious to type
- in, any such expression you use is saved in a history available via
- the Wildcard Menu. The menu can be invoked by clicking on its
- button, pressing Alt-w, or Alt-Control-Right-Mouse-Button. (Note
- that on Win32 you *must* press Alt then Control then
- Right-Mouse-Button for this to work. Win32 appears to care deeply
- about keystroke order.)
-
- You can also preload that menu with commonly used wildcards by
- placing multiple statements like this in your Configuration File:
-
- WILDCARD = some-regular-expression
-
- These will appear in the Wildcard Menu in the order they were
- defined. Bear in mind that only the first MAXMENU number of items
- will actually appear in the Wildcard Menu. Again, SELWILD will
- check the first character of your regular expression and "escape" it
- if that character is ".
-
- There is a new debug bit which will display the Wildcard stack as it
- changes.
-
- - Advanced Sorting Options
-
- You can now sort by any of the detail columns *whether or not
- details are currently displayed*. Shift-F1 sorts by the leftmost
- column, Shift-F2 sorts by the second from left column, and so forth.
- Shift-F10 selects no sorting which means items will be displayed in
- the order they are reported by the operating system. Shift-F11
- reverses the sort order, and Shift-F12 toggles whether or not
- directories and files should be separated when sorting and
- displaying. These sort options are also available via a new Sort
- Menu which can be opened by clicking on its menu button or pressing
- Alt-s. There is no mouse shortcut for sorting options.
-
- The current sort parameters are displayed on the Titlebar and
- the name of the sort key field is automatically adjusted
- depending on whether you are in Normal or Drive List View.
-
- You can set your desired default sorting order via three new
- options in the Configuration File.
-
- Option Default Possible Values
-
- ---------------------------------------------
-
- SORTBYFIELD Name No Sort, Permissions, Links,
- Owner, Group, Length,
- Time, Name
-
- SORTREVERSE False True, False
-
- SORTSEPARATE True True, False
-
-
- - Conditional Processing Of Configuration File Statements
-
- It is now possible to include or exclude statements in the
- Configuration File based on certain conditions. This makes it easy
- to maintain a single such file that works across all the different
- operating systems and with many different users.
-
- A Condition Block begins with a Condition Test Statement and ends
- with '.endif'. If the Condition Test evaluates to be True, all the
- lines up to the matching '.endif' are included in the configuration.
- If False, all these lines are ignored. Conditionals may be nested
- without limit. 'twander' keeps track of which '.endif' matches which
- Condition Test Statement. Like all Configuration File entries,
- whitespace is ignored when processing Conditional Statements and you
- are free to indent (or not) as you see fit.
-
- Condition Test Statements are one of three types:
-
- #####
- # Existential: True if FOO or $FOO are defined
- #####
-
- .if [FOO]
- ...
- .endif
-
- .if [$FOO]
- ...
- .endif
-
- #####
- # Equality: True if FOO or $FOO are literally
- # the same as the test-string
- #####
-
- .if [FOO] == test-string
- ...
- .endif
-
- .if [$FOO] == test-string
- ...
- .endif
-
- #####
- # Inequality: True if FOO or $FOO are literally
- # not the same as the test-string
- #####
-
- .if [FOO] != test-string
- ...
- .endif
-
- .if [$FOO] != test-string
- ...
- .endif
-
-
- Note that the test always depends first on a *variable reference*
- ([FOO], never just FOO), but that the Right Hand Side of
- an in/equality test is just a string comparsion - no variable
- expansion is done. This will not work as you might expect:
-
- .if [FOO] == string[BAR]
-
- To make it easy to create conditional blocks based on the type of
- system you're running, 'twander' now automatically pre-defines two
- variables which provide information about your system:
-
- Variable Name Typical Values
- --------------------------------
-
- .OS nt, posix
- .PLATFORM freebsd4, linux-i386, win32
-
- Note that these predefined variables also begin with a period to
- remind you of their intended role. They will thus also sort first in
- the User-Defined Variables section of the Help Menu.
-
- See the example .twander file provided in the distribution for
- some extended examples of using conditinals in your Configuration
- File.
-
- - The New ".include" Directive
-
- The configuration language now supports a means of including
- other files in your configuration. This makes it easy to, say,
- have a "standard" configuration that everyone can use as a starting
- point like this:
-
-
- .include /usr/local/etc/.twander.global
-
- # Your configuration lines go here
-
-
- You may have as many ".include" directives in your Configuration File
- as you like. The only requirement is that there be whitespace between
- the directive and the filename.
-
-
-
-
-
- twander 3.0 (2-17-2003):
- ========================
-
- - The licensing terms have been clarified. Non-Commercial use of the
- program is free with a $20 US per user donation recommended.
- This fee is mandatory for commercial users.
-
- - A Quick Start introduction to 'twander' is now included in the
- distribution. See 'READ-1ST.txt'.
-
- - *MANY* bug fixes and code cleanup including a nasty one with
- RH linux that prevented 'twander' from opening the user's
- home directory.
-
- - Most program features and options are now settable in the
- configuration file AND you can set your default twander command line
- arguments in an environment variable called TWANDER.
-
- The priority of options processing, from lowest to highest is:
-
- 1) Defaults coded into program
- 2) Options set in configuration file
- 3) Options set in environment variable
- 4) Options set on command line.
-
- - The -b, -f, -n, -w, -s, -x, -y command line options have
- been removed because these options are not settable as
- options in the configuration file.
-
- - Width/Height now default to 800 and 600 pixels respectively.
- Previous versions did not really count pixels correctly.
- You can also specify the starting position on screen in pixels.
-
- - You can now include references to any of the variable types
- in a manually entered command line. Syntax is the same as for
- command definitions in the configuration file.
-
- - Various help menus have been added.
-
- - Command History has been implemented and is available via a new
- menu.
-
- - There are now accelerator key and mouse shortcuts for each of the
- menus.
-
- - A new "Directory Shortcuts" feature has been added. You can
- specify up to 12 directories which will be preloaded into
- the Directory Menu (as if you'd already visited them) AND
- you can move to each of them via one of the Function keys.
-
- - twander debug facilities have been vastly improved. The -d
- command line argument now takes a mandatory "debug level"
- as an argument. This is a bitfield (which can be expressed
- in either decimal or hex) in which each bit indicates a
- kind of degbug output you'd like.
-
- - There is a new Built-In variable called [YESNO:some text]. It
- allows you to put a Yes/No popup during command execution.
- If the user presses "No", the command is aborted.
-
- - Since Win32 file/directory names are case-insensitive,
- twander now sorts them as such. Previously, 'ZEBRA' would
- appear before 'echo' in a twander display.
-
- - Most previous error conditions have been changed to warnings so
- that the program is more forgiving and will keep running after
- such a condition.
-
- - The various interactive popup dialogs allow intra-line editing
- with both the local conventions as well as emacs-style key
- editing. This was true previously, but was not documented.
-
- - If you are running on Win32 and have Mark Hammond's 'win32all'
- extensions installed, a number of Win32-specific features are
- enabled:
-
- a) You can now navigate ".." from root or use the Ctrl-k key to
- get a Drive List View of all available Win32 drives.
-
- b) The file/directory mode will be displayed showing Win32
- attributes.
-
- c) The Win32 user/group names will appear for each displayed
- item, instead of "win32user" and "win32group".
-
- - You can now resize fonts while running 'twander' without having to
- change the respective configuration file parameters. Two new key
- assignments have been defined to increment or decrement font size.
-
- - You can use the CMDSHELL option to define a string that will be
- prepended to each manually entered command. The feature is off
- by default. If enabled, it can be suppressed by entering "\"
- as the first character in the manually entered command. This makes
- it easy to create a default visual/GUI context for each command you
- enter manually.
-
- - A new "Program Memory" feature is implemented which allows 'twander'
- to maintain up to 12 separate, simultaneous clipboard- like
- memories. These memories are used to compile names of files and
- directories which you would like to subsequently processs. There
- are 12 new corresponding Built-In Variables ([MEM1]-[MEM12]) which
- allow command definitions to access the contents of the memories
-
- - TundraWare Inc. is now running a 'twander-users' mailing list.
-
- ------------------------------------------------------------------------
- twander 2.34 (12-23-2002):
- ===========================
-
- Initial public release of program