|
|
|
|
|
exec wish "$0" ${1+"$@"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
package require Tk |
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
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" |
|
} |
|
} |
|
} |
|
|
|
|
|
|
|
if {$argc>0} {set dir [lindex $argv 0]} else {set dir "."} |
|
foreach i [lsort [glob * .* *.*]] { |
|
if {[file type $i] eq "directory"} { |
|
|
|
append i / |
|
} |
|
.list insert end $i |
|
} |
|
|
|
|
|
|
|
bind all <Control-c> {destroy .} |
|
bind .list <Double-Button-1> {foreach i [selection get] {browse $dir $i}} |
|
|
|
|
|
|
|
|
|
|