head	1.3;
access;
symbols
	rel-7-10-4:1.2
	STABLE:1.2.0.2
	rel-7-10-2:1.2
	rel-7-10-0:1.1;
locks; strict;
comment	@# @;


1.3
date	2007.11.06.21.38.48;	author erikgreenwald;	state Exp;
branches;
next	1.2;

1.2
date	2007.05.07.04.17.43;	author brlcad;	state Exp;
branches;
next	1.1;

1.1
date	2007.03.02.21.49.50;	author brlcad;	state Exp;
branches;
next	;


desc
@@


1.3
log
@tk 8.5a6->8.5b1
@
text
@#!/bin/sh
# the next line restarts using wish \
exec wish "$0" ${1+"$@@"}

# browse --
# This script generates a directory browser, which lists the working
# directory and allows you to open files or subdirectories by
# double-clicking.
#
# RCS: @@(#) $Id: browse,v 1.5 2003/09/30 14:54:29 dkf Exp $

package require Tk

# Create a scrollbar on the right side of the main window and a listbox
# on the left side.

scrollbar .scroll -command ".list yview"
pack .scroll -side right -fill y
listbox .list -yscroll ".scroll set" -relief sunken -width 20 -height 20 \
	-setgrid yes
pack .list -side left -fill both -expand yes
wm minsize . 1 1

# The procedure below is invoked to open a browser on a given file;  if the
# file is a directory then another instance of this program is invoked; if
# the file is a regular file then the Mx editor is invoked to display
# the file.

set browseScript [file join [pwd] $argv0]
proc browse {dir file} {
    global env browseScript
    if {[string compare $dir "."] != 0} {set file $dir/$file}
    switch [file type $file] {
	directory {
	    exec [info nameofexecutable] $browseScript $file &
	}
	file {
	    if {[info exists env(EDITOR)]} {
		eval exec $env(EDITOR) $file &
	    } else {
		exec xedit $file &
	    }
	}
	default {
	    puts stdout "\"$file\" isn't a directory or regular file"
	}
    }
}

# Fill the listbox with a list of all the files in the directory.

if {$argc>0} {set dir [lindex $argv 0]} else {set dir "."}
foreach i [lsort [glob * .* *.*]] {
    if {[file type $i] eq "directory"} {
	# Safe to do since it is still a directory.
	append i /
    }
    .list insert end $i
}

# Set up bindings for the browser.

bind all <Control-c> {destroy .}
bind .list <Double-Button-1> {foreach i [selection get] {browse $dir $i}}

# Local Variables:
# mode: tcl
# End:
@


1.2
log
@upgrade to tcl/tk 8.5a6 (from 8.5a5) .. includes even more (extensive) aquatk fixes/enhancements
@
text
@@


1.1
log
@upgrade tcl/tk from 8.4.6 to 8.5a5; also move to a recursive configure, using AC_CONFIG_SUBDIRS to call upon tcl, tk, and enigma's configure scripts as needed instead of redoing their build systems for our purpose.  this has a rather drastic impact on the way the libraries are linked together, including the need to compile tcl/tk static so as to avoid libtool portability issues as well as letting us take advantage of their build system for reduced maintenance and easing future upgrades.  undoubtedly more build issues to be worked out with other platforms given the extent of this change.  this does move us one step closer towards correctly linking against system tcl/tk installations too.
@
text
@@

