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 <ctrl><cursor> key
combination from being seen by tkedit. This problem has been worked around by
allowing to use the <Alt> or <Compose> 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 <raul@ordago.uc3m.es>
ProcList_C.startup:  Alan G. Yoder <agy@cse.nd.edu>

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




