tkdrop - a generic drag and drop representation of a filesystem object [ ] This program is known to work with tk2.3 plus Michael J. McLennan's drag&drop patches. is a simple direct manipulation interface to a filesystem object. It deals sensibly with files, executable or not, and directories. The program presents an icon and a label in a small window. Double clicking the icon invokes user specified action. Double clicking the label presents a handful of entry widgets with which to customize the actions of the program. The arguments and entry widgtes consist of the fol- lowing. A shell command which will be executed upon user invoka- tion. The command is executed via /bin/sh -c "...". The name of the object being represented by the program. An environment variable named "id" will be set to the same value. The icon dis- played for the user. The label displayed for the user. Parame- ters passed to command as argv. Scott Schwartz Thanks to Felix Lee for lots of feedback. Felix says it is klunky. Sometimes focus gets lost. The only way to get it back is to un- map and remap the entry widgets. Don't know why. ----------------------------------------------------------------- tkfb - tk based file browser with drag-and-drop [ ] This program is known to work with tk2.3 plus Michael J. McLennan's drag&drop patches. is a graphical drag and drop based file browser. It gives you a way select and manipulate pathnames and transmit them to cooperating applications using a direct manipulation inter- face. If no argument is given will present a view of the current directory path. Otherwise the first argument will be interpreted as a path and presented. The brower's presentation consists of a graphical interface with four parts. The top of the window con- tains a menu bar with items labeled and Quit exits the program. Clone launches a new copy of the browser initialized with the current path. Edit launches an editor in an xterm on the select- ed file. Exec executes the selected file with standard io con- nected to an xterm. Reify launches an application, initialized properly according to the currently selected object. The second part of the interface is an entry widget. This widget will ac- cept a new pathname typed from the keyboard or pasted with the mouse. At other times it displays the currently selected path, and makes that path available as the X PRIMARY selection. At all times, the contents of the entry widget may be dragged or dropped with mouse button 3. The third part of the interface is a label that contains information about the current selection, such as owner and size. The fourth part of the interface is a sequence of five panes which contain a label holding the name of the di- rectory component represented in that pane, and a listbox holding the contents of that directory (except in the case of the last component, which may be a file.) Selecting an entry in a listbox sets the subsequent pane to the contents of that entry, except for the case of ``.''. Double clicking will execute the entry if it is marked as executable, and edit it otherwise. Pressing a label truncates the pathame at that point. The labels may also have their path selected for dragging with mouse button 3. In the brower panes, the left and right arrow keys will scroll the entire view. In individual panes the up and down arrows, the PageUp and PageDown, and the Home and End keys will perform their respective functions. Scott Schwartz Thanks to Dan Grillo and Felix Lee for lots of feedback. It would be nice to have multiple fonts in listboxes. Listboxes really need to support multiple non-contiguous selec- tions. Tkfb needs to know how to deal with multiple selections. There is no way to do mutual exclusion in tk, so it is quite pos- sible for things to get stomped; the periodic update is often the cause of that. Sun's automounter doesn't return correct timestamp information for automount points. (I work around that, but don't like it.) The application should resize gracefully. Helper programs, like tkdrop, need to be developed some more. There doesn't seem to be a way to set the class from tk: it de- faults to "name" + "#n", which is wrong. How can you redirect stderr in exec? Exec with an & should do a setsid in SunOS 4.1 and later. The tk options stuff is bizarre. "*Font" in .Xdefaults overrides "Tk*Tkfb*Font" in the program?? And why is the "Tk" needed to get it to work at all, when I have set the app class name to be Tkfb? Others to be announced.