Index of /tcl/ftparchive/sorted/comm/tkbroadcast-3.1
Name Last modified Size Description
Parent Directory 16-Apr-99 21:08 -
README 01-Aug-97 10:51 9k
tkbroadcast-3.1.tar.gz 01-Aug-97 10:47 11k
tkbroadcast version 3.1
-----------------------
Ethan Gold (etgold@cs.vassar.edu), July 1997
(Ethan or Clavius at the sitcom.vassar.edu:5500 metaserver)
http://www.cs.vassar.edu/~etgold/tkbc.html
(version 1.0 Jan-May 1996, unreleased - be glad)
(disclaimer follows)
WARNING!
This version is VERY beta. It might not
work. If it does, however, you can still send messages to and
receive messages from the older versions (2.1 recommended) though
2.1 users won't show up in the metaserver list.
READ the changes section at the bottom carefully and understand
how the new code ought to work (from the user end) before emailing me.
Tkbroadcast is an Xwindows based messaging utility designed
to provide the funtionality of broadcast on the Apple
Macintosh. While appletalk broadcast is available for
Unix, it isn't as slick as theMac version, and it
requires appletalk. If you are mainly interested in
messaging between unix workstations, then tkbroadcast
is for you! Written entirely in standard tcl/tk,
tkbroadcast should be highly portable - EVEN to the
Mac and Windows (NT?), and since it uses IP instead of a
proprietary LAN protocal, it should works across
the internet.
NOTE: a major overhaul was done for 2.0 AND 3.0. Please read
the changes section towards the end of this document if
you are upgrading from an earlier version.
REQUIREMENTS:
* tcl/tk versions greater than 7.5 and 4.1 which has
the new file handling commands
INSTRUCTIONS:
Edit the top of the script to point to the copy
of wish on your system.
Copy the tkbroadcast scripts into a directory in
your PATH. I recommend the following link command:
ln -s tkbroadcast.tcl tkbc
Create a .tkbcrc file in your HOME directory and
follow the sample .tkbcrc file format.
All of the fields in the sample file are required.
Note that the "record" fields are no longer used.
Actually you might now be able to create this initial
file entirely from within tkbc.
if you're going to run the METASERVER
Hopefully you know of a metaserver that is already running
that you would like to be registered on. Config that metaserver
into your .tkbcrc file. If you would like to run a metaserver
you need to pick an unused port to run the metaserver on. Pick
something that people won't try to use for anything else (such
as tkbc clients). Follow the sample metaconfig.sample file.
The metaserver looks for it's config in your home directory
in a file called .tkbcmsrc unless you specify another file as the
first argument on the command line. Run the metaserver in the
background and then config your client to point to it (if you
want). Publish your site.
Start tkbc. You will only receive messages when tkbc is
running! This is a change from early versions which
used a seperate daemon process to handle incoming messages.
The text entry box in tkbc lets you spcify a machine
and port directly instead of having to read it from the metaserver.
Try sending a message to yourself by selecting your name
and clicking "send" or by double-clicking your name in the listbox.
All the information stored in the resource file
~/.tkbcrc SHOULD be manageable from the GUI.
I recommend running tkbc from your .xinitrc file or whatever
file you use to set up your X clients unless you are on the
slow side of a dialup connection. Use the -iconic command
line option to start tkbc iconified to avoid desktop clutter.
The included pixmap tkbroadcast.xpm is the original icon for
Macintosh Broadcast by Joachim Lindenberg. I use an entry
for tkbc in my window manager resource file that uses this icon.
BUGS:
* Not even worth trying to catalogue. Tons of error handling
is needed.
* Try underlines instead of spaces in usernames until the
protocol between the metaserver and client can handle them.
FEATURES:
* Files can be inserted into outgoing messages
* Keypad Enter in the message box will send an outgoing
message just like in the Mac version.
* Excepting firewalls and other unfortunate obstacles, tkbroadcast
should work across the internet.
* On the fly address and personal info management
* Incoming messages can be saved
* Multiple compose windows
* Automatically updating userlist
FUTURE:
* menu to select multiple meta servers (soon)
* metaserver metaserver?
* Browing other "zones" without changing the metaserver you're
currently registered with. (soon)
* File browser for "insert file" on outgoing messages
and file browser and save funtion for incoming
messages
* Personalized Icons?
* Send to All has be moved off the work queue. With the advent
of the metaserver too much potential for spam exits.
* Error log file for the metaserver
* Rewrite this README which still smacks of version 1.8
CHANGES:
since 3.1:
* removed GNU date dependancy
* removed all exec calls except getting hostname sound calls
for portability
* added receiver option and polling flag
* added multiple error handling
* beefed up error handling around socket and file calls
* preliminary internals for multiple metaservers (3.2?)
since 2.1:
* implemented the metaserver which keeps a running tab of people
"registered" using tkbc. The Metaserver ages entries.
* The main gui no longer maintains it's own user list. The user list
is now read from the configured metaserver.
* Send to All has been removed (never worked anyway)
* Deleting entries is no longer applicable.
since 2.0:
* added -iconic command line option to start iconified
* added -version command line option
* squashed changing Own Info bug, but there's another
* squashed geometryless incoming and outgoing windows bug
since 1.8:
* A major overhaul was done for 2.0. From the user's
perspective things are mostly the same, but internally
everything's been mushed around. The 4 different scripts
from version 1.X have been merged into one big script which
maintains everything. The advantages to this approach are
MUCH smaller memory footprint, greater likelyhood of cross-
platform compatibility (ever try to "exec" on a mac?) faster
operation, easier to manager source (I think) and the
removal of the problem of interprocess communication, a possibility
of a "send to all" function (as requested, but not yet working)
and a sure fire way to make sure tkbc quits when X exits.
This last item opens up the possibility for a tkbc metaserver
which you can register yourself with which can then be queried
by other users. This is something for 3.0.
* The main tkbc interface now MUST BE RUNNING for you to receive
messages since the "server" code is now merged into everything
else. This is not to pretty from a user perspective, but it makes
my end much simpler. Sorry, folks, you'll have to start tkbc
from your .xinitrc files.
* Multiple database files - this was initially done to make it
easy to test the "send to all" code, but was left in 'caue it's
cool.
* Beginnings of "send to all"
* Incoming messages now display the time and date
* Later incoming messages should start appearing back
on screen earlier (around 600y pixels instead of 7600.. oops)
since 1.7:
*Fixed absolute name resolution by parsing /etc/resolv.conf
for the domain name.
*Added an undocumented (ha!) feature that will play a sound
for incoming messages that can be toggled with the line:
sound on
in the .tkbcrc file. there is currently no widget to supply
this information, hence its "undocumented" status.
*Fixed initial focus for outgoing messages
*Turned on word wrap in the text widgets
since 1.6:
*Added save options to incoming messages
*better key bindings in filename entry widgets
*a little more immune to quitting on an error (little)
since 1.5:
*fixed "dummy" entry
*fixed required extra blank line in .rc file
*added tilde expansion in the "insert file"
entry box.
*improved some keyboard bindings
*reread now properly rereads the resource file
*Added "add new" so new addresses can be added
without having to edit the file
*address deletion and personal info management
from within tkbc. you shouldn't even have to
touch the rc file.
CONTACT INFO:
Please direct any problems, questions, suggestions to
etgold@cs.vassar.edu (that's me) and I'll get back
to you. I'd love to find out who's using my software,
so if you decide to keep it, drop me a line.
ACKNOWLEDGEMENTS:
Thanks to Joachim Lindenberg for Appletalk Broadcast
and John Ousterhout for tcl/tk, David Chappell for
his suggestions, and all the patient Vassar computer
science majors.
DISCLAIMER:
-----------
THIS SOFTWARE IS PROVIDED ENTIRELY WITHOUT WARRANTY, EXPLICIT
OR IMPLIED! I'M AM NOT RESPONSIBLE FOR LOST DATA, MISUSED/ABUSED NETWORK
RESOURCES, WASTES OF TIME/MONEY/PRODUCTIVITY.
DISTRIBUTE THIS SOFTWARE UNDER THE TERMS OF THE GNU PUBLIC LICENSE.
THE SUITABILITY OF THIS PRODUCT FOR ANY PURPOSE IS NOT GUARANTEED.