tkbroadcast version 1.8 ----------------------- Ethan Gold (etgold@cs.vassar.edu), Fall 1996 http://www.cs.vassar.edu/~etgold/ (version 1.0 Jan-May 1996, unreleased) (disclaimer follows) 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 (though external script launching may cause problems), and since it uses IP instead of a proprietary LAN protocal, it should also work across the internet. REQUIREMENTS: *tcl/tk versions 7.5 and 4.1 or greater INSTRUCTIONS: Edit the top of each script to point to the tclsh or wish on your system. Copy the 4 tkbroadcast scripts into a directory in your PATH. I recommend the following link commands: ln -s tkbroadcastd.tcl tkbcd ln -s tkbroadcastc.tcl tkbc Create a .tkbcrc file in your HOME directory and follow the sample .tkbcrc file format. The only requirements are the port number and your name. You will probably also want to add some addresses, of course. Note that duplicate entries will be ignored and the alias field cannot contain whitespace unless surrounded by quotes. Starting with version 1.6 you can enter this information from withing tkbc. Then start tkbcd in the background (probably from your .xinitrc) and wait for a message or start tkbc. The text entry box in tkbc lets you spcify a machine and port directly instead of having to read it out of your .tkbcrc file. Make an entry for yourself and try sending yourself a message 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. RECOMMENDATIONS: I start tkbcd in the background from my .xinitrc and then after the line that launches my controlling process (usually a window manager on the last line of the .xinitrc) I put the following code: if [-f ${HOME}/.tkbcd] then cat .tkbcd | xargs kill rm .tkbcd endif to ensure that tkbcd dies when I exit X. .tkbcd is created by tkbcd each time it runs and contains the PID of the daemon process. BUGS: *Daemon does not exit when X quits unless explicitly killed from .xinitrc as in above example 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 obstacles, tkbroadcast should work across the internet. *On the fly address and personal info management CHANGES: 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. 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. FUTURE: *magic cookie based "receiver off" function like appletalk broadcast - keeps out all messages not from conversations initiated by you *File browser for "insert file" on outgoing messages and file browser and save funtion for incoming messages *Personalized Icons? *Clean up daemon so it can exit when X dies *implement multiple receipient sending 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 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.