1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Welcome to Timink

Timink is a Inkscape (effect) extension with a GTK+ user interface for easy creation and editing of publication quality (digital) timing diagrams.

The native file format of Inkscape is SVG, which can be rendered by almost all modern web browsers. Inkscape provides excellent export capabilities (PDF, EPS, WMF, PNG...), so the integration of the diagrams into your favorite text procession environment (LaTeX, Open Office, MS Word...) will be no problem.

Timink is intended as a tool for documentation (e.g. for specifying digital interfaces) with emphasis on graphical annotation. It is not suitable for managing precise machine-checkable timing requirements or for generating testbenchs.

Basic Idea

Drawing high-quality timing diagrams without a specialized drawing tool is possible, but cumbersome and time-consuming. (The best open-source tool I know for this purpose is Open Office Draw, whose connectors allow moving signal edges without adjusting all connected lines manually.)

Timink tries to simplify this process by transforming a simple text-based signal cluster specification given by the user into its graphical representation (the Timink object, representing the signal cluster). For example:

Typical usage steps

A Timink object is a normal SVG <g> element with a certain structure and certain Timink specific attributes, which contains the graphical representation for the given signal cluster specification.

A Timink object can be edited (by selecting any element in the Timink object and running the Timink extension) to change the signal cluster specification and update its graphical representation.

Being an Inkscape extension, Timink cannot directly interact with the user on a per-object basis. Instead, it tries to take into account user-changes on the generated graphical objects as far as possible. For example, the user can reposition and transform a <g> element representing the graph of a signal interactively with Inkscape. When changing the (textual) signal cluster specification, this information is taken into account and used for the updated graphical representation.


To create a Timink object in Inkscape:

  1. (If a satisfying template exists: Copy the Timink object [the signal cluster] and select it.)
  2. Select Extensions > Timink to enter the signal cluster specification.
  3. Format the generated graphical elements representing the signal cluster and make annotations as necessary.

By selecting the generated Timink object and selecting Extensions > Timink, all properties of the Timink object (e.g. the signal cluster specification) can be changed afterwards. The formatting of the graphical elements is preserved as far as possible.


Development status

Timink is fully usable on FreeBSD 8.x and MS Windows. The SVG representation of the Timink objects is frozen. This means that timing diagrams created by Timink ≥ 0.1.0 are expected to be properly handled by future versions.

Known bugs and limitations: #5, #8. Feel free to comment the tickets.

You're welcome to add bug reports and feature requests here.

Development roadmap: /roadmap.

Installation and prerequisites

Supported platforms

Primary development platform is FreeBSD 8.x. However, it is a design goal to have it run on MS Windows 7, too.

Required components

(Tested configuration in parentheses.)

component FreeBSD MS Windows
Inkscape ≥ 0.46 (0.47) ≥ 0.48 (0.48)
Python 2.x ≥ 2.6 (2.6.5) ≥ 2.6 (2.6.5 of Inkscape 0.48)
GTK+ 2.x (2.20.1) (2.16 of Inkscape 0.48)
pygtk (2.17.0) (2.16 of pygtk-2.16_for_inkscape-0.48.zip)
lxml (2.2.4) (? of Inkscape 0.48)

Installation instructions


Get the latest timink-x.y.z.tar.gz here and extract it to the extension directory of Inkscape. For Inkscape 0.47, this is:

  • ~/.config/inkscape/extensions ("private" installation)
  • /usr/local/share/inkscape/extensions (system wide)

If installed properly, timink.inx resides directly in one of these directories.

After restarting Inkscape, the menu item Extensions > Timink should appear.

MS Windows

  1. Get the matching pygtk "package" pygtk-x.y_for_inkscape-u.v.zip here an follow the installation instructions in the included README-pygtk.txt.
  2. Get the latest timink-x.y.z.tar.gz here and extract it to the extension directory of Inkscape. For Inkscape 0.48 this is: <inkscape-install-dir>\share\extensions. If installed properly, timink.inx resides directly in this directory.

After restarting Inkscape, the menu item Extensions > Timink should appear.

See also