FileRunner Changelog

What's new in FileRunner 14.01.16.16

Jan 29, 2014
  • Added code to make the top directory in windows . In it you will find all the volumes on the system.
  • Changed version to use two digits for each field, even when the leading digit is 0.
  • Change the "open" routine to use the *.lnk file if we are in windows. The *.lnk file has a lot of nice things to make the open more useful.
  • Found and fixed a problem with the Cntl-P in the command line. Old code was mostly useless.
  • Added a function to control scrolling of the buttons to prevent moving them down below the top (which left an empty space above).
  • It seems that windows, at least in some cases, does not provide bindings for the mouse wheel as buttons 4 & 5, but rather as MouseWheel. Added code to pick this up for windows.
  • Changed smart_dialog to not use 'grab' in an attempt to make it easy to move windows, particularly in MS-windows.
  • Wrote the generation code for 'packageLinks.tcl' and made the changes to incorporate it in the release. This code is needed only be the 'wrap' version of fr (*.exe) to overcome shortcomings of the wrap system.
  • In the testing of the *.lnk stuff found and fixed errors caused by $ and [ characters in file names.
  • Added code to attempt to decode the windows *.lnk files.
  • sftp sometimes capitalizes "Password". Fix it so we still recognize it.
  • Changed the ftp login error to more reliably ask for name and password. Moved that dialog window over to the smartDialog code.
  • Minor fix to smartDialog to expand the entry subwindows to expand to the window width.
  • Changed spellcheck on "fix all" to fix entries prior to the current one that match rather than just the following ones (only happens if the user cancels and then comes back to continue spellcheck).
  • For reasons unknown the UpdateStat_ code was coming up with "" instead of a number when trying to sum the sizes of selected files. Changed the code to verify that it has a numeric size before using the number.
  • Moved most all of the inotify code to a seperate file, mostly so it is not
  • part of the MS Windows wrap package.
  • Added an update in place routine to update the dir listings without loosing selections. It is used only on updates by inode or time.
  • Added code to inotify update to reposition the dir list after an update. If the old position was with the last entry at the bottom of the window the update was pushing it off the bottom.
  • Created "trim-inotify.tcl" to clean up the install by removing unneeded inotify files and putting the required one (if available) in the proper location. Changed INSTALL to move this file and execute it at the right time.
  • Fixed a race condition when reading a new configuration from the browser. While the listboxes were down, an inotify happeded.
  • Made the button column scrollable.
  • Changed the key position code so you just need focus in the dir window, i.e. you no longer have to select something to position the directory window by pressing a key.
  • Removed most of the widgets from the accept focus list. Now limited mostly to the directory windows and the buttons.
  • Changes the inotify code search to only look for a package if it it not found in the shipped area or the ~/.fr/. This should make start up faster.
  • Added code to activate the last selected item in a directory when returning to a directory. If the opposite window does not have a selection, the last item is also selected.
  • The default code for button-2 motion was not propogating the selection, fixed this.
  • Added the "Toggle" function to the list of bind objects. Its job is to toggle binary config settings.
  • Added an optional parameter to "ViewDirOpposite" to allow it to work with the current selection rather than what the mouse is pointing at.
  • Changed Tab in a list box to only move to the file name column, i.e. always takes you to the other file list.
  • Changed the DoProtCmd family to use a stack to keep track of the update status and cursor. This should make them re-entrant/ recursive.
  • Fixed inotify code to keep the select or highlighting colors on update.
  • Added a binary for i386 to the list of libraries for inotify.
  • Added 'Back' and 'UpDirTree' to the bind list to allow binding then to arrow keys.
  • Found and fixed a keyboard support problem where a Right arrow command lost the position in the directory listing causing the next Up/Down arrow to jump to line 1.
  • Moved the inotify set up to after "first light" (i.e. deiconification of the main window). This way it will not delay start up. Also push the reading and set up of the first dir lists into the background.
  • Found and fixed a bug in the inotify code that prevented notify from running if the file name is 'formatted' by the listboxscrip.
  • Modified time stamp code to print the execution times for each segment.
  • Added time stamp code to track start-up times. Turn on by starting with -db or, to dump later, turn on "Expand Error Messages" and enter, in a command window:
  • dumpStartTimes
  • This dumps the start times on std out.
  • Added spell checking to the view and quick edit windows. Also allow spell check filters that should make it rather easy to spell check program files.
  • H.S. also found a bug in the balloon help code when on the extreme edge of the parent window. In this case the code to offset the message put the resulting pointer outside of the window causing the attempt to find the windows boarder fails. Changed the code to use the position before the offset.
  • H.S. found a bug in the Fonts change code's balloon help for the "Here too?" button. The font reference needs to be coded as global so it works in the balloon context.
  • More fixes for the config.tcl file. In the move to using config-rev config files I forgot to include the old 'config' (no rev) in the list of possible choices. The net result is NO config file is found. Fixed this.
  • Added "Autoreq: 0" to the rpm spec file to prevent dependencies being generated by the inotify binary files. This caused dependencies for both 32 and 64 bit libc, neither of which is needed.
  • Fixed the RPM script to put the required "#" in front of the config file it builds.
  • How embarrassing, if env(EDITOR) is not defined we fail to load. Changed to default to "vi".
  • A user wanted to eliminate one of the "ship" bindings, but it came back on restart. Changed to destroy any we have in memory when we read the config file. This is now done by a function call in the config file itself (so we don't have premature destruction). The function name is "ClearTheDecksHereComeANewConfig".
  • Added a 'weight' calculation to the color distance list generation in the color chooser. This corrects for the perceptual differences of colors. The 'distance' list is the list of near colors in the color choosers window.
  • The async middle button code had an error in it causing a button 3 press to fail.
  • Found (and fixed) another ftp problem. Misshandeling directories with spaces in the name. Looks like in two places, the fr parse code and in ftp_control.

New in FileRunner 13.7.25.13 (Jul 26, 2013)

  • Problems reported that 'wish' is not in /bin on all systems. Changed invocation to one that (we hope) is more solid.
  • Found problem in ftp open code where the port was not being separated from the target host name/URL causing the open to fail. Also rewrote the 'progress' code to do a much better job. Also fixed the 'Stop' button implementation in ftp transfers to stop the transfer and, while not deleting the file fragment, at least recovering the connection and some sanity.

New in FileRunner 13.7.19.16 (Jul 20, 2013)

  • There is a new color editor, however, the big thing with this release is the INSTALL file and the RPM and DEB files. This 'could' change how you install filerunner, see below.

New in FileRunner 13.4.18.11 (Apr 19, 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.
  • 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'.
  • 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
  • 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.
  • Seems like we miss handle zero length pass words. Fixed.