FileRunner Changelog

New in version 13.7.19.16

July 27th, 2013
  • Added more information to the 'status line' (the line just under the File Configuration ... etc. menu items) balloon help message.
  • Added code to the 'makerelease' awk script to do all the new things needed to build a release (build the TofC for tips, build the RPM & DEB files, move it all to the new release directory).
  • Wrote a little script (makeiconfile.tcl) to merge icon files into one file. This for windows where we now also have the new filerunner icons.
  • Changes the tar.gz contents to include the master 'png' file as well as the working master (the working master '*.xcf' makes it easy to work on with Gimp.
  • Worked over the Tips file. Added a machine generated table of contents. Wrote the code to generate the table of contents (tip_index.tcl).
  • Moved the icons into their own directry (icons of course)
  • Completed the scripts to build the RPM and DEB package files. makerelease now builds everything and puts it in the directory 'Release-'. It is now a simple move to put a new release on souceforge.
  • Peter found a bug in the selection update code when using up and down arrows to change the selection. Fixed!
  • Added code to display the selected entry (first if more than one) in the Status line. Various info on the file is displayed in the same order as used in the panel. Thank you Peter.
  • After a lot of PAIN I finally have a set of code to convert the filerunner RPM to a DEB package file. At least at Fedora 18, this is a real pain as some bits that should be in the DEB support rpms are not there (man pages but no code, for example). We use alien to do the conversion and stop half way through to fix a few things. The scrip to do this is fr/Makefiles/alien.tcl. Oh, I almost forgot, I had to change one of the Perl scripts that was trying to find out if it was on a 'native' platform. It got lost, forever, so I just changed it to not test but return the NO result. I will not be shipping this script in hopes that Fedora will do better in 19, which I ought to update to...
  • Made small changes to the configure code to start new users (those with out ~/.fr/config files) with better colors and to avoid terminal errors around not finding said file.
  • Finished building the filerunner.spec file. This now allows us to build RPM files.
  • Made changes to the INSTALL file to do the right thing when used by the RPM build code. Mostly this means we build a relative link for the /usr/bin/fr link and that we do not build an uninstall file (RPM package code does that). We still build the uninstall file if not building for RPM.
  • Made a change to 'smart_dialog' to now accept an override to the max window width. Prior to this the max width was the width of the 'master' window. This resulted in some very narrow windows when 'smart_dialog' was used prior to building other windows (like for errors).
  • Made the code that finds a 'backup' config file smarter. It now globs all config-yymmdd files and chooses the one that is oldest as long as it is younger than what it is looking for.
  • Change main file to directly run /bin/wish.
  • Added a configure entry for "paste" to allow definition of additional paste sequences for use with the paste into the directory line (see below). Without this the mouse was not being recognized.
  • Added a new option to choose how to spell 'gray' or 'grey'. This is used in the color editor to offer up color names.
  • Modified the color editor to use the grid system instead of pack, to get the colornames from a generated file based on the manpage for Tk (colors.n), display an additional window with "near" colors with samples (near to the currently selected color), to use color names when ever possible, and several small cosmetic changes.
  • Changed paste to the directory window in the case where a file name is pasted. In this case, if the name is a link, the link is tracked down and the directory is changed to that files directory with the named file highlighted. If you paste a normal file from the same pane (left or right) nothing happens. If what is pasted is not an accessable file (or not a file) a normal paste is done.
  • Added the 'Clean' command to the Utilities menu. It destroys all open view windows. Especially nice if some command runs away and creates a bunch of them.
  • Moved all the 'doc' (those files that are in the help menu) to their own directory.
  • Wrote an INSTALL script. Installs filerunner with full desktop and icon files.
  • Changed the Expect load to a pure tcl package load. Added a warning that the tcl version will not work with SFTP. An expect rpm is available from Fedora and I suspect most other system repos.
  • Put an update command in smart_dialog to make sure that the master geometry is ready before we get it.
  • I give up. It is just not possible in Tk to get the display size & such in a multi-display system. The old code to find this fails and can not be fixed short of guessing. Filerunner used this in the to keep tool tips on the same display. So now it just makes an attempt to put the center of the tip as close as possible to the center of the parent window while still keeping one corner of the tip near the mouse & keeping the tip on the screen (the screen is the total of all the displays). This works fairly well until you put a spread the window over more than one display.
  • Built a new icon. Mercury carring a file folder with a Hubble pic inside.
  • Changed how we access the inotify package. It is now just put in the 'packages' directory with special pkgIndex.tcl files that only pass if the 'arch' matches.
  • Changed to use config-yymmdd as the config file. The date being the same as the revison code of the source being run. This allows several different versions to run at the same time.
  • Changed to withdraw the window while coming up and, when completely up present the window. Expecially on a slow system, this will look 'nicer'.

New in version 13.4.18.11 (April 29th, 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.

New in version 20100903 (September 7th, 2010)

  • Seems to be available for all platforms including Windows, Linux, Mac, etc.
  • Any thing with tcl/tk supported.