Index of /tcl/ftparchive/sorted/net/tkchooser2-055c

      Name                   Last modified     Size  Description

[DIR] Parent Directory 28-Oct-99 15:46 - [   ] CHANGES 27-Mar-98 15:32 2k [   ] README 06-Mar-98 15:45 6k [CMP] tkchooser2-055c.tar.gz 28-Mar-98 10:45 62k

Ethan Gold <etgold@cs.vassar.edu> 3/5/98

DISTRIBUTE THIS SOFTWARE UNDER THE TERMS OF THE GNU
PUBLIC LICENSE. NO WARRANTY IS EXPRESSED OR IMPLIED.
USE AT YOUR OWN RISK. THE SUITABILITY OF THIS SOFTWARE
FOR ANY PURPOSE IS NOT GUARANTEED.
A copy of the GPL can be found at http://www.gnu.org/

Please read this document and the accompanying INSTALL document
before asking me questions. This will facilitate troubleshooting
immensely.

Description:
------------
Tkchooser(2) is an interpreted, modular, extensible
network browsing utility for Xwindows designed after
the Macintosh Chooser.

Motivation:
-----------
There is no decent network browser for unix that I'm aware of.
MacOS and Windoze both have reasonable interfaces to their
respective LAN protocols. Unix increasingly has to live alongside
Windoze and MacOS PC's and access their resources - especially if
you are living in Linuxland. So I decided to model tkchooser after
the macintosh chooser and give it multiple protocol capabilities.
The idea is that thru a modular interface both Appletalk, SMB, and
other (IPX?, IP?) protocols can be supported by reloadable modules.
Functionality is provided by plugins which implement specific
types of network operations such as mounting shared volumes, printing
to shared printers, etc. Additionally, this interface could be used
to set defaults for other tools as well. The tie between the plugins
and the network modules is somewhat arbitrary. Plugins can register
themselves with multiple protocols. In fact, the protocols do not even
need to be network modules.

My Primary purpose was to make it easy to mount AFS volumes, print
to appletalk laserprinters, and send appletalk "broadcast" messages
to other mac users. There is an old version of broadcast written
for CAP which I hope to rewrite for netatalk soon.

The modular nature of tkchooser makes it very easy for you to build
your own modules if you wish. If you are interested in working on
some existing modules - particularly enscript or SMB modules - please
contact me.

Requirements:
-------------
* Tcl/Tk, probably version 8.0 or newer is best.
* Netatalk 1.4b2 or newer for appletalk browsing, printing functionality
  Theoretically an appletalk module could be written for CAP if
  someone felt the need. As long as the API is adhered to it should
  drop in cleanly. (optional if you don't want to browse appletalk)
* afpfs package if you want to be able to mount appleshare volumes
* Broadcast for Unix if you want to be able to use appletalk BC - I'm
  working on a netatalk version
* Samba if you want to access windoze network stuff (READ the samba
  notes in the INSTALL document carefully if you intend to use this feature!)

Usage and Behavior:
-------------------
Everything should be runnable just by invoking the tkchooser2.tcl
binary. The installation procedure makes a link to this file called
"tkchooser" (defaults to /usr/local/bin/). The configuration file
in /usr/local/lib/tkchooser/chooser.cfg (default) sets up some basic
characteristics for the chooser. The chooser ALSO looks to the user's
home directory for a directory called ".tkchooser" (default, but configurable)
and will load the contained file called "chooser.cfg" if it exists.
This directory is also used for plugins that need to save persistant
options which are not needed by anything other than the chooser or other
plugins. Follow the global chooser.cfg file's example when writing your
own ~/.tkchooser/chooser.cfg. Everything in the global config except for
the library directory can be overwritten simply by redeclaring it. In
fact, the library directory can be overridden too, but it won't take
affect until after the global config is read.


Installation:
-------------
Please read the INSTALL document that came with the distribution
completely before sending me email. This will make troubleshooting
much easier for both of us.


Configuration:
--------------
Options may be set in the $libdir/chooser.cfg file. They may be overridden
by individual users in their $userconfdir/chooser.cfg file (typically
$HOME/.tkchooser/chooser.cfg). These files are straight tcl which is sourced
early on in the main browser's initialization sequence. Personal .tkchooser
directories should follow the structure of the main $libdir, i.e.:
~/.tkchooser/
~/.tkchooser/chooser.cfg
~/.tkchooser/plugins/
~/.tkchooser/icons/

Configurable options in $libdir/chooser.cfg and $userconfdir/chooser.cfg:

Individual protocol families may be turned on and off by setting the
appropriate flag in the config file:
e.g:	set miscflag 1
	set appletalk 0

Verbose debugging information may be turned on (default is off):
	set debug 1

The default protocol may be chosen (only the last one will count):
	set defaultprotocol appletalk
	set defaultprotocol smb

User configuration directories may be specified (prolly a bad
idea to change this):

	set userconfdir "$env(HOME)/.tkchooser"

The File where printer modules may find a filter commandline:
	set printfilterfile "$userconfdir/printfilter"

The command to use on the end of a pipe for print previewing. Note that
building this command correctly can be a sticky business, especially as
ghostview and gv both read badly from standard in.
	#set printpreviewer "gv -"
	set printpreviewer "cat >! /tmp/prev.tmp | gv /tmp/prev.tmp"
	

Font preferences (not used everywhere) may be set:
	set propfont "baskerville"
	set fixedfont "courier"

Credits:
--------
Thanks to the KDE folks for their postscript icon which
I've appropriated for the enscript plugin.
Thanks to the intrepid people who help me get this thing running
on machines other than my own.