"browse" is a tcl/tk program that provides a file browser GUI to let the user select a file name. It return the file name to stdout, so it may be embedded in a script or program. E.g. #!/bin/sh echo "Please select file to process ..." file=`browse` if [ -f "$file" ]; then # do something with $file ... fi .... Features: csh-like Tab/Escape and Ctrl-D file completion. show only file matching a regular expression Edit, Viewer, Shell actions Filemanager mode. Stay-alive mode. Command line options: -fm -filemanager Stay alive and act as w filemanager (see "anyview" in my UsefulScripts section) -m -match Only show files that match -msg -message Display label -w -wait Stay alive and print file sections to stdout -ne -noedit Don't show the Edit button -nv -noviewer Don't show the Viewer button -ns -noshell Don't show the Shell button The -wait method can be used in a pipeline like: #!/bin/sh browse -wait | { while read file do # do something with current $file done } DEPENDENCIES Under Unix the X_EDITOR and X_VIEWER env vars should be set. For X_VIEWER I use a perl script I call "anyview" that tries to be able to view any file (will use .mailcap as a last resort). Makes for a semi-useful "file-manager" E-mail me, runge at-sign karlrunge.com if you are interested in it. The default settings are pretty limited. Should run well on Unix. Will run on Windows, but may require some tweaking, to get all of the actions correct (esp. Viewer). browse primary action it to report the selected file to stdout. It is not clear how difficult it is to get that to work well on Windows and Mac. INSTALLATION Unix: chmod 755 browse, put browse in a PATH dir. may have to set path to wish by hand in script. Windows: rename browse browse.tcl. Or make a browse.bat file in PATH. Mac: untested