PATH:
usr
/
share
/
tk8.5
/
demos
#!/bin/sh # the next line restarts using wish \ exec wish8.5 "$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. 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:
[-] tree.tcl
[edit]
[-] toolbar.tcl
[edit]
[-] textpeer.tcl
[edit]
[-] spin.tcl
[edit]
[-] label.tcl
[edit]
[-] ctext.tcl
[edit]
[-] paned1.tcl
[edit]
[-] button.tcl
[edit]
[-] radio.tcl
[edit]
[-] sayings.tcl
[edit]
[+]
..
[-] timer
[edit]
[-] ttkbut.tcl
[edit]
[-] states.tcl
[edit]
[-] README
[edit]
[-] ttknote.tcl
[edit]
[-] puzzle.tcl
[edit]
[-] bind.tcl
[edit]
[-] combo.tcl
[edit]
[-] check.tcl
[edit]
[-] paned2.tcl
[edit]
[-] bitmap.tcl
[edit]
[-] browse
[edit]
[-] license.terms
[edit]
[-] ttkscale.tcl
[edit]
[-] plot.tcl
[edit]
[-] rmt
[edit]
[-] tcolor
[edit]
[-] tclIndex
[edit]
[-] ttkprogress.tcl
[edit]
[-] arrow.tcl
[edit]
[-] aniwave.tcl
[edit]
[-] widget
[edit]
[-] items.tcl
[edit]
[-] style.tcl
[edit]
[-] colors.tcl
[edit]
[-] twind.tcl
[edit]
[-] text.tcl
[edit]
[-] labelframe.tcl
[edit]
[-] entry1.tcl
[edit]
[-] hello
[edit]
[-] filebox.tcl
[edit]
[-] knightstour.tcl
[edit]
[-] dialog2.tcl
[edit]
[-] ruler.tcl
[edit]
[-] form.tcl
[edit]
[-] dialog1.tcl
[edit]
[-] msgbox.tcl
[edit]
[-] ttkpane.tcl
[edit]
[-] image2.tcl
[edit]
[-] floor.tcl
[edit]
[-] mclist.tcl
[edit]
[-] menu.tcl
[edit]
[-] ixset
[edit]
[-] entry2.tcl
[edit]
[-] rolodex
[edit]
[+]
images
[-] goldberg.tcl
[edit]
[-] unicodeout.tcl
[edit]
[-] vscale.tcl
[edit]
[-] nl.msg
[edit]
[-] search.tcl
[edit]
[-] icon.tcl
[edit]
[-] menubu.tcl
[edit]
[-] ttkmenu.tcl
[edit]
[-] en.msg
[edit]
[-] anilabel.tcl
[edit]
[-] entry3.tcl
[edit]
[-] cscroll.tcl
[edit]
[-] image1.tcl
[edit]
[-] clrpick.tcl
[edit]
[-] pendulum.tcl
[edit]
[-] hscale.tcl
[edit]