Operating Systems and Computer Networks
Frequently Asked Questions about Tkined
Table of Contents:
What is Tkined?
Tkined is a network drawing editor running on top of the Tcl/Tk X11 toolkit.
Tkined is programmable and allows applications to act on the map shown
inside of the editor. Most applications are written in Tcl based on Scotty, an extension
to Tcl to access network management protocols etc.
What is the latest Tkined version?
The current Tkined version is 1.3.4. This version is based on Tcl7.4 and
Tk4.0. Older versions based on Tcl7.3 and Tk3.6 are not supported anymore.
Please make sure that you are using version 1.3.4 or later if you ask us
How do I get the sources of Tkined?
You can get the sources via ftp from
Are there any binary distributions available?
Making binary distributions takes time and our experience is that
binary distribution do not reduce the number of questions per week
because most systems simply look too different. Therefore, we do not
provide binary distributions.
Is there a mailing list for Tkined?
There is a mailing list for the discussion of all topics related to
Tkined and Scotty. Just send a message to firstname.lastname@example.org
to join this list. Messages that should appear on the list should be
send to email@example.com.
There archive of the mailing list is accessible via the world wide web:
Are there any mirror sites for Tkined?
The following list of mirror sites may be incomplete and out of
date. If you have any corrections or additions, please send a short
note to firstname.lastname@example.org.
How do I get Tkined to start the applications provided with Scotty?
The manager.tcl script should be started automatically if you have
Tkined and Scotty installed. If the Tool menu does not appear on the
menu bar, you usually have an installation problem. Please check the
- Make sure that scotty and tkined were configured with the same
prefix, e.g. ./configure --prefix=$HOME. If you want to use
different prefixes for scotty and tkined, you must make sure that
the variable TKINED_DIR points to the same location in the scotty
and tkined Makefiles.
- Make sure that you rebuild everything from scratch if you change
the Makefiles or if you re-run the configure script. This makes
sure that all changes will be reflected in the compiled in default
- If you make changes in your sources to get things up and running and
you are not 100 % sure that your changes do not create other
problems, please unpack you sources again and start from
scratch. Seems to help in some cases.
How to get or add contributions?
There is a
for extensions provided by some Tkined users. You can upload you own
network management script by putting it into the /pub/incoming directory on
and dropping me a note.
How do I define new icons for Tkined?
Integration of new icons requires to make them known to tkined. You
have to edit the /usr/local/lib/tkined/tkined.defaults file. It
contains lines like:
tkined.node42: HP7550.xbm Peripherals:HP Plotter 7550
This looks much like X11 defaults. The line above defines icon number
42 for a NODE object which is stored in the file HP7550.xbm. It will
appear as `HP Plotter 7550' in the icon submenu named `Peripherals' in
the icon menu.
You can create your personal setup by doing all this in your ~/.tkined
directory and leaving the files in /usr/local/lib/tkined unchanged.
It is also possible to make use of the /usr/local/lib/tkined/site
directory, which will not be overwritten if you install a new tkined
How to start my own application for Tkined?
There are four ways to start new applications. Lets assume we have
written a script foo.tcl. The first way to start this script is by
adding a line like
$HOME/.tkined/tkined.defaults file. This will make Tkined
to start foo.tcl for every new view. The next three ways to start
foo.tcl all assume that you run the manager.tcl script which provides
Tools menu. You could launch a new script by using the
Start Script command. If you need a script more than once, it
might be better to add a line like
$HOME/.tkined/tkined.defaults file. This tells the
manager.tcl script to include a menu entry
Foo in the tools
menu which will start
foo.tcl. The last two methods are
implemented using the
ined create INTERPRETER command which
is the fourth way to do the job.
How to install Tkined in a non standard place?
If you need to install Tkined library directory in a place different
than the compiled in default, you have to set the TKINED_PATH variable
to point to the new Tkined library directory. For example, if you move
the library directory from /usr/local/lib/tkined to /some/place/tkined,
you should set TKINED_PATH to something like:
How to print PostScript files with large background images?
Large background images can't be printed if they width of the bitmap
is not a multiple of 8. I checked the tk code but did not find an
error. So don't use bitmaps with odd sizes.
How do I add a new dialog to the existing onces?
There is no way yet to dynamically load new dialogs. If you really
need one, you can add a new one by modifying tkined_dialog.tcl. For
example, you can define the proc
Dialog::foo and Tkined will
automatically accept the command
ined foo .
How to retrieve and view network maps over the network?
There are two ways to this. You can create Tkined maps containing
reference objects which understand ftp URL in their address attribute.
Double klicking on them will start an anon. ftp session to retrieve
the map and to load it in a new Tkined view. (Thanks to
who had the idea.)
How to retrieve and view network maps via WWW?
I also managed to get the NCSA mosaic WWW frontend to spawn Tkineds
on files retrieved via WWW. I added the following line to my
application/x-tkined tki tkined
And the following line went to $HOME/.mailcap:
application/x-tkined; tkined %s
Our WWW server will send files ending with .tki or .tkined as MIME
type application/tkined. If you like to set up your server to do the
same just add the following lines to your httpd.conf (assuming
the CERN httpd):
AddType .tki application/x-tkined 7bit 1.0
AddType .tkined application/x-tkined 7bit 1.0
How to make running Tkined pictures available through WWW?
This is a very experimental feature (needs some not released features
of tkined and some magic scripts). An experimental page show
information about our TUBSNET backbone.
How to extend Tkined with new object types?
If you want to add a new object type to Tkined, you may want to follow
the following steps:
If you have created a good and funny MONSTER, please share it with us.
- Define your new type in tkined.h, e.g. TKINED_MONSTER
- Modify the functions type_to_string() and
string_to_type() in misc.c to convert a string
with the type name (MONSTER) into the tag TKINED_MONSTER
- Modify the table at the end of the file objects.c to
define the protocol understood by the new object type.
- Update the standard methods in method.c to handle the new
object, most important look at dump_object(),
m_retrieve() and m_create().
- Most methods trigger a tk proc that updates the canvas. For example,
the command ined select node3 calls the tk proc
NODE::select which is defined in Objects.tcl.
Create the tk procs for your new object, e.g. MONSTER::select.
- The above is mostly straightforward. A confusing problem is that some
scotty commands (those that act on the list representation of an object)
are actually done by scotty itself. Therefore, you have to update the
file ined.c in the scotty sources (look for the functions
ined_comp_cmd() and string_to_type().
Jürgen Schönwälder / email@example.com
(Last update: 24 August 95)