diff --git a/WHATSNEW.txt b/WHATSNEW.txt index b23ab96..69336fa 100644 --- a/WHATSNEW.txt +++ b/WHATSNEW.txt @@ -1,6 +1,9 @@ WHAT'S NEW -twander 3.x: +twander 3.128 (3-xx-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 @@ -11,38 +14,225 @@ negative values. Feature is now checked to make sure a font size is never decremented below 1. -- 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. -- The "escape" character to 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 SELWILD processing. CMDSHELL was thus changed so both - features which permit "escapes" would use the same character for - consistency. +CHANGES -- The Right-Hand Side (RHS) of all User-Settable options can now be - blank. A blank RHS has the effect of "undefining" any change and - the option in question just reverts to its default value. This - makes option syntax consistent with other features such as Directory - Shortcuts which use a blank RHS to "undefine" the entry. +- 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 can now be redefined within the same + Configuration File. This was done to better exploit the new + conditional operators in the configuration language. + +- A blank Right Hand Side is now permitted for all Option + Statements. It means that the option reverts to its default + value. 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 form 'CMDSHELL = ' will do. -- Removed the Numeric Options: MAXDIR, MAXDIRBUF, MAXHIST, and - MAXHISTBUF. Replaced with a set of parameters common to all - dynamic menus: MAXMENU and MAXMENUBUF. + 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. -twander 3.0: +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 None, 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 Statmentes 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 + system 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. + + +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. @@ -147,6 +337,7 @@ - TundraWare Inc. is now running a 'twander-users' mailing list. ------------------------------------------------------------------------ -twander 2.34: +twander 2.34 (12-23-2002): +=========================== Initial public release of program