New in FileRunner 13.4.18.11 (Apr 29, 2013)
- Updated the Users_Guide. Recommended reading for this release:
- Utilities run command in section 3.1
- Mouse Buttons In the File list section 3.3.5.1
- Open command in section 3.4
- The Internal Text Viewer Menu section 5.1
- File name completion section 9.3
- Oh, and Regenerate the configuration and read through the changes there.
- Fixed bug in ftp mkdir code, looped instead of doing the deed.
- On testing, Windows tcl does a POOR job of determining if a file is executable, especially if CYGWIN is installed. This messes up the command completion code which tries to only return executable files for the command. Changed the code to return all candidates for Windows. It still only returns executables for Linux/unix.
- Removed the code to change windows file names to use '\' as windows works just fine with the '/' AND it is ever so much easier to work with.
- Changed new 'Open' command to directly execute the file if it is executable. Otherwise call the 'open cmd' program.
- Added 'ViewAsTx' (View as text) to the middle button list. Same as 'Utilities' menu View as text.
- Re-wrote the command buffer string handler to better handle '\' and '\ ' to better deal with Windows file names.
- Changed the configure write code to do a better job of listing the more complex lists used in the config file. Also set up the default start up helper command names to contain the .exe post fix if running in CYGWIN.
- Added code to add new buttons to the config(middle_button_list) and to remove unrecognized buttons in that list.
- Added a new center button 'Run'. Does the same thing as the 'Utilities' menu Run command.
- Enhanced command completion and the command execute code to deal more reasonably with file & directory names with spaces embedded in them.
- Added the 'Open' command/button. This is the same as 'View' except it uses a different configured list to pick the program to run. And if the file extension is not in the config(open,extensions) list, this command calls the program config(cmd,open) which should figure out what to run and run it. On windows, this command should be 'cmd /c start'. On Mac systems it is 'open'. On Linux systems there are at least these three possibilities: 'gnome-open', 'kde-open' and 'xdg-open'.
- 'View' then is for taking a quick peek at a file, while 'Open' does the full thing.
- Changed the color reconfigure code to also set up 'options' for each of the colors. This means we no longer have to configure a window when we build it. Instead the window code will just get what it needs from the option list.
- Change the menu and bind configuration code to allow parameters to be passed to the called function. This makes it possible to bind a command to a mouse button that will call a mail composer with a list of files to 'attach'. To finish this, changed the run command to accept an optional parameter which it uses to find the program to run in the 'runlist'.
- Enhanced the command completion code to put up a browse window in response to Button 3 in the entry line.
- Added new code around the Run command. You can now set up a list of programs to choose to run along with syntax and 'nice' names.
- Added code to catch menu recursion, i.e. a->b->c->a in user menus.
- Made smart_dialog even smarter yet. You can now set it up to execute a script to populate the 'text' window (or, for that matter do most anything). Also made its global names include the window name so multiple smart_dialog windows can be up at the same time.
- Used the new smart_dialog and command completion code to redo the run command which now will do command completion on the item to run as well as let you choose if you want full file names or working directory related file names.
- Made smart_dialog even smarter. It now can handle any number of 'entry' widgets, checkbuttons and normal buttons as well as all the other wonders.
- Did a rather complete rewrite of the command completion code. It now hangs on Tab and DoubleTab. Can now select completions with mouse clicks from a list of completions. Also moved it into a separate file (aka library).
- Found and fixed problem with mouse wheel delta not being what is configured (the scroll was always larger than requested).
- Fixed a bug in the copy code that caused directory copies to a directory that already contains a directory by the same name to create a new directory by that name in the existing directory rather than just continue and update files below that directory.
- Added a configuration button to turn on/off expanded error messages, mostly for me.
- Added and implemented configurable button bindings for the list boxes. You can now build menus and attach them to button clicks. See the configuration file.
- Fixed the bug of trying to 'Alt-Esc' from a view window by trapping the sequence and doing exactly nothing.
- Wrote a new Entry_Dialog routine and changed code to use it.
- Enhanced replacetearoff.tcl to pick up button colors, deal with separators and cascade menus.
- Wrote a replacement for tk_dialog (named smart_dialog) which handles all 'fixed' answer questions (like Yes No OK etc.). It is now used for all of these, including the About window. It also has a 'monologue' option that is used for the View messages 'not found', 'nothing to undo' and 'nothing to redo'. This window is usually removed by the next action and may also be removed with mouse button-1.
- Turned on 'undo' in the View, Q-Edit, and configure edit windows. Put 'undo" and 'redo' commands in the button-3 menu. (Also Cntl-z does undo and Cntl-Z redo.)
- Separated the view search code (used in view and the command windows). Allow search to go either forward or back at each point. Allow rollover but we stop at the end and tell you about it. Changed the not found pop up to be frame-less and flashing.
- Moved FontControl and balloon_help to stand alone routines with standard calling sequences.
- Moved ReplaceTearoff to a stand alone routine. Made it better at what it does. (It replaces a tearoff menu with one that stays around when the parent looses focus.)
- It seems a '&' got lost in the Editor script which causes filerunner to wait for the editor to complete. Fixed this.
- Change to the 'Recurse Command' (under Etc) to properly delimit the command for 'sh -c'. With out the change you needed to put '"' around the command.
- Darn, a bug. Seems like we miss handle zero length pass words. Fixed. Thanks to Peter for the bug report.