Short Description: "tkedit" is an X11 oriented editor entirely written in tcl-tk. It therefore has "tcl" as language for writing extensive macros. Other Features include: o Multiple buffers o split views o Function-Key macro recording o columnar blocks o complete set of editing features o X11 style AND general purpose selection mechanism o extensive use for selection (replacing within range, repeating macros,...) o C, FORTRAN and TCL function summary with direct link to the main file o X11 replacement for "more" at the end of a pipeline o Full ISO-font Type-In Support o ctags, make and error analysis support o Ispell Support o highlighting keywords and functions for TCL, C and FORTRAN o Folding/Expanding of TCL, C and FORTRAN function definitions o hotlists for buffers and functions o preserving of tags (attributes) beween buffers (for your own extensions) Whats New to 2.0.0: - tk4.1 support - better Highlighting and ProcList implementation and integration - more hooks for external macros - some routines are faster (e.g. saving, bracket matching, proclists,...) - removed a number of bugs (and probably introduced some new) Requirements: tkedit is tested and works under wish (tcl7.3 + tk3.6) and wish4.1 (tcl7.5a2 + tk4.1a2) tkedit-2.0.0 prefers wish4.1 since some (few) features are only available under wish4.1 (like horizontal scrollbar) On our AIX-Workstations we have installed tcl7.3 and tk3.6 + tk3.6p1 With these Versions "tkedit" is tested and works so far. tkedit-1.7.0 is also adapted to work with tcl7.4b4 and tk4.0b4. tkedit tries to keep the old "look and feel" but I have not tested it in every single point. If you observe any difficulties, please let me know. Files needed: tkedit The main program (TCL-TK source) tke A link to tkedit (does not load startup macros) tkeditclient TCL-script: loads a file into a running tkedit and waits _tkedit My personal ".tkedit" file containing my Keypad macro definitions for Tektronix Terminals (may be copied to ~/.tkedit) FileSelect A File-Selector Utility for tkedit (and may be for other programs) Implemented this way to make it exchangable. ColorSelect A Color-Selector Utility for tkedit. This tool has been taken from the tk4.1 demo library (original name: "tcolor") and modified to work with "tkedit" Request A small Utility, which is up to now not needed by tkedit but which may be usefull for writing nice scripts... (see comment at the begin of the script) tkedit.cfg Sample configuration file to be copied to /etc/tkedit.cfg (Please read instructions there) text.tcl A modified Version of the tk4.1 library file "text.tcl" which implements a "tkedit" compliant behaviour for all tk-text widgets (includes open / Search Write and Goto functions) tkedit_storage Directory containing optional startup TCL-macros README This file as you should have noticed tkedit.txt The documentation and "Help file" Installation: The files "tkedit" "FileSelect" "ColorSelect" and the directory tkedit_storage should be accessible through your PATH I would recommend that you type: cd /usr/local/bin/X11 gtar xvzf /tmp/tkedit-i.j.k.tar.gz The file "tkedit.cfg" may be edited and moved to /etc/tkedit.cfg If your "wish" is not installed in "/usr/local/bin/wish" you should adjust the first line in the files "FileSelect" "ColorSelect" and "tkedit" accordingly. You may also just delete the first line. This activates the search path of "/bin/sh" while loading wish. NOTE: This is Version 2.0.0 and from the Software point of view it is completed. Tkedit is tested and works under tk4.1 as well as under tk3.6. Some Features (like horizontal scrolling) are only available under tk4.1 No major bug was found anymore during the testing period. However some hidden bugs may still show up and the documentation is still very poor (sorry about that) I hope to improve this within the next months, when I find the time. Now I wanted to give this to the public for testing and I have to do some real work also. MOTIF-COMPLIANCE: wish4.x is designed to be "Motif-compliant" from the users point of view. One part of this is, that the text widgets should behave like used in "emacs" (mainly because emacs is so widely used and from this point of view it makes sense to have all text widgets behave in the same manner) When I started to write "tkedit" I had in mind to make everything new (and in some aspects I have tried to use the key definitions of an old Amiga classic: "Cygnus Edit" where it did not clash with some other design aspects) and I did not like "emacs" very much (this was mainly the reason for writing "tkedit") With tk4.x becoming "Motif-compliant" I can see, that there could also be a reason to have "tkedit" work in a similar way. With Version 2.0.0 I offer the possibility to make all tk-text widgets behave in the same way as "tkedit" as an alternative to make "tkedit" behave as "emacs". For this you may exchange your $TK_LIBRARY/text.tcl by the supplied text.tcl. This also implements simple search/replace features to any text widgets. But if you like to have "tkedit" behave (at least basically) in the "Motif/tk4.x/emacs compliant way) you can do the following: From the "Macro" Menu choose "Load Startup". -> The FileSelector comes up. Now Select "EmacsKeys.startup" You may also find it convenient to activate the "X-Kill on BS/DEL" flag in the "Preferences" menu (I don't like this! But you may decide on your own.) The Drawbacks at the moment: You will have to program a number of macro keys for trivial things, because the emacs keys will prevent the original "tkedit" keys from working. But all functions can be reached from the menu and all menu points can be programmed to macro keys. CPU usage and System load: With a dynamic update mechanism I try to reduce system load without annoying users. (please read the documentation upon this part) As a result tkedit should not take more than 2% of CPU time even on small systems, when no user interaction occurs. (Of course this can still cause Problems on small "multi user" systems. I think that it will be possible to reduce this load below 1% in further Versions of "tkedit". But if you think "tkedit" is worth this effort, you should try to optimize the installation of "wish" which should also result in a better performance of "tkedit") The Send Command: tkedit makes use of the send command only in a very limited number of cases (the "launcher", immediate color control, client funcionality) and you can live happily without ever recognizing that the "send" command does not work on your system. However the "update.tcl" script will check some basic requirements for "send" to work and may help getting "send" to work on Linux or NetBSD stand-alone systems. If you are not familiar with "xauth" and you do not want to hear anything about it you may find it usefull to run CheckSend.tcl from the "Misc./CheckSend" menu. This will allow you to add different displays to your .Xauthority file. You can also run "tkedit_storage/CheckSend.tcl" from the command line. After running the CheckSend script on a stand-alone system you are left in a state where you should check, that your XServer is started using the -auth option and reading your .Xauthority file. look for a line like XServer -auth $HOME/.Xauthority in the XServer startup script. Now you can restart the X-Window system and the "send" command should work. Possible Problems: There was a Problem with "fvwm" which prevented the key combination from being seen by tkedit. This problem has been worked around by allowing to use the or key additionally ! (Aternatively modify your .fvwmrc !) Specific Problems on NetBSD_1.0: tkedit is tested successfully on an Amiga 4000/040 with 8 MB RAM and 64 MB swap You need to install both: "tk" and "tcl". Check if the Environment variables TCL_LIBRARY TK_LIBRARY are set to the correct paths or if the initialization files are present at the standard locations "/usr/local/lib/tk3.6/lib/tk" and "/usr/local/lib/7.3/lib/tcl" The MIT-Magic-cookie must be presented to the XServer in order to be able to use the "Send" command. Create a ".Xauthority" file (either by using "xauth" manually or by using my "CheckSend"-macro which can be called from the "misc" menu of tkedit) Then edit the "/usr/local/X11R6/lib/xinit/xserverrc" file to include the "-auth $HOME/.Xauthority" option to the "X" command. Specific Problems on MacIntosh systems: Forget about "tkedit" running on the Mac ! At least tk4.1 does not know how to do "exec" on the Mac. Specific Problems on Linux: I have heard about a problem, that tkedit starts, but does not accept any input. Other TCL-TK programs are running fine. I am suspicious (because of certain hints from others), that this is a bug within the XView Window manager. There are also some other window managers (namely "XCursion" and "ctwm") which are causing trouble. But the others allow at least for some 10 to 30 minutes of operation... If you can confirm this, please send me a small note. If you have found any problems please don't hesitate to send me a small note. In this note please include the following informations: 1. the answer from "wish" to the following line: % puts stdout "$tk_version $tk_patchLevel" 2. a description of what you have done 3. The trace dump of the tcl-interpreter 4. A Report if the basic utilities (FileSelect, ColorSelect, Request) are working on your system Copywrong: "tkedit" is "Mail-Your-Opinion"-Ware (in short MYO-ware) If you have tried out this Program, please send me a short mail which says if you find it worth using or not and after you have used it for some time, please send me a mail which states what you are missing or that you are very happy with it. (And if you are using "tkedit" since a long time and are very unhappy with it, you MUST send me a mail !) "ColorSelect" is essentially the "tcolor" demo from the tk4.1 library, slightly modified to work with "tkedit" "tkedit" and "FileSelect" are completely designed and programed by me. Any similarity to any other program in the world (by name or "look and feel") is completely accidently and unintentional. A small part of tkedit, concerning argument parsing, has been added by Raul Barrel Tamayo (raul@ordago.uc3m.es) Some of the external startup macros have been programmed by others or are at least based on code from others: UpCycle.startup: Raul Barral Tamayo ProcList_C.startup: Alan G. Yoder The actual Version can be found on our anonymous ftp server: ftp.ifh.de:/pub/unix/edit/tkedit-x.n.m.tar.Z Everybody is hereby encouraged to use "tkedit" and spread the program and the word. But no waranty can be given on any part of the program. I do not accept any responsibility for dataloss or damage to you, your machine or your family when running this program. You are using this program completely on your own risc. ------------------------------------------------------------------------------- Rainer Kowallik postdoc at DESY-IfH Zeuthen (Germany) Email: kowallik@ifh.de Platanenallee 6, D-15738 Zeuthen