Ethan Gold <firstname.lastname@example.org> 2/14/00
freshmeat record: http://freshmeat.net/appindex/1998/05/05/894383662.html
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/
Tkchooser(2) is an interpreted, modular, extensible
network browsing utility for Xwindows designed after
the Macintosh Chooser, but able to browse SMB as well
as Appletalk networks.
Tkchooser is a complicated piece of software which brings together
several different commandline/protocol suites under one unified
Please read this document and the accompanying INSTALL document
before emailing for help or discarding tkchooser completely.
I would like to see tkchooser running on as many platforms as possible
and this will facilitate troubleshooting immensely.
There was no decent network browser for unix that I was 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 had hoped to rewrite for netatalk. Someone else
has taken on that task.
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, please contact me if you need info.
* Unified service-based browsing interface for SMB and Appletalk networks
and miscellaneous related configuration plugins.
* zone browsing
* "Complete" Appletalk Laser Writer printing system via enscript, pap, and
a filtering wrapper (alpr). Effectively approximates printing setup utils
* (appleshare mounting and broadcast messaging waiting for tool fixes)
* workgroup browsing
* file server mounting/unmounting
* print server printing
* winpop outgoing message support
* GNU Enscript configurator (also available standalone)
* tkchooser internal printing filter (not related to alpr)
* Tcl/Tk, probably version 8.0 or newer is best. If you're using Suse Linux
(version ??) make sure you use tk-8.x+
* 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 (broken)
* Broadcast for Unix if you want to be able to use appletalk BC (in progress?)
* 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!)
* smbmount if you want to mount smb volumes. ONLY SMBMOUNT VERSION 2.0.5+ is
support in this release and in future releases. I am trying to stay
current with the changing syntax of the smbmount releases. Versions 2.0.6
and 2.0.5x are supported simultaneously as of tkchooser2-0.65.
Usage and Behavior:
This is a quick overview of how to use tkchooser. It is NOT a complete
tutorial. If you're interested in writing something more organized and
comprehensive, please email me!
Tkchooser can be run at a shell prompt or by a window manager and requires
no commandline interaction. It presents a zone/workgroup and service-oriented
view of the local network in the style of the Macintosh Chooser. The available
services, implemented as plugins, are displayed as icons in the upper left box.
Single-clicking on a plugin activates it. The currently active protocol (or
plugin suite) may be changed on the fly by selecting from the "Protocols:"
menubutton in the middle of the window.
For both the appletalk and smb printing modules, files may be printed directly
to printers by specifying a printer in the printer list and choosing a file
by clicking on the filename entry widget. In the case of the LaserWriter plugin,
clicking the "Select" button will set the currently selected printer as your
default printer for all printing operations using "pap." Pap may be called
directly from the commandline (or within an applications print dialog) or
may be invoked indirectly through "alpr", a filtering wrapper for pap. Alpr
will convert non-postscript files to postscript by passing them thru GNU
enscript on their way to pap. The behavior of enscript may be configured
using the Enscript plugin in the "Misc" protocol suite. This presents a
clean appletalk-based printing interface to every application on the system.
Simply use alpr instead of lpr to print and your enscript and tkchooser
printing options will be used.
See the Configuration section below for customization issues.
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.
Options may be set in the /etc/chooser.cfg file. Options 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.:
Configurable options in /etc/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
If you're on an appletalk phase1 network (no zones) set this
value to 1. Otherwise 0, or just comment it out.
set atalk_phase1 1
Optionally force smb to use a specific domain master for all
set smbmaster your-master-server
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"
Reportedly runs on:
Linux-x86 (RedHat, Debian, Slackware, SuSe)
Solaris-2.5.1 (no smbfs support)
Reported to work on:
Sendy (email@example.com) for tireless bug testing and patches to the
Adrian (firstname.lastname@example.org) for handling the debian packaging
and the new smbmount version
Thanks to the KDE folks (and Adobe) 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 and to Brian for being a tireless
(if sarcastic) early beta tester and first contributing plugin author.
"Chooser", "Macintosh", and "MacOS" are Trademarks of Apple Computer Inc.