Tcl/Tk with gnocl on NOKIA N800
(Hildonized gnocl)

Written by Tez Ono, Updated on 20 Jun 2007 (Japan)

What is this


19 Jun 2007: maemoTk 0.3 is released.
14 Jun 2007: Gnocl for N800 0.3 is released. MaemoTk is available.
2 Jun 2007 : Tkzinc 3.3.4 has been ported.
8 May 2007 : Gnocl for N800 0.2 is released. GnomeCanvas is enabled.
6 May 2007 : Document How to write a hildonized gnocl script is released.
4 May 2007 : Document Gnocl Manual is uploaded.
1 May 2007 : Download site and forums are opened at

What is this

Gnocl is a GUI toolkit developed by Peter G. Baum.
Gnocl implements GTK+ and Gnome bindings for the programming language
Tcl with special emphasize on ease of use.
It provides commands to build quickly GTK+ / Gnome compliant applications
including the canvas widget, GConf and the Gnome applet.
Gnocl is split in several libraries, which can be loaded on demand.

Another important point is that Tk widgets work by embedd on a gnocl window.
By using maemoTk, Tcl/Tk scripts finely work with almost full-function on your NOKIA N800.

Hildonized gnocl means a gnocl supporting Hildon UI.
Hildon is a kind of desktop environment designed for small mobile devices like N800.
By using hildonized gnocl, the window of your program will fit a screen of your device.
Hardware keys such as "zoom in(+)","zoom out(-)", "fullscreen", "menu",
and so on will be enabled.


You can see some screenshot images of my N800.
various widgets (1)
various widgets (2)
using hardware keys
version information
"Hello" in various languages
embedded tk demo
embedded tk canvas
embedded ttk demo
canvas widgets


Sources and binaries for NOKIA N800 (IT OS 2007: Maemo 3.0 (bora)) are available at
download site(
There are binaries of Tcl8.5, Tk8.5, gnocl and other extensions.
libgnomecanvas-2.14.0 is now available.

Latest Version (Direct Links)

I suppose the binaries work on 770, but I've never tried.
I have no plan to support older maemo version like gregale, but 770 users' contributions are welcome!

New!! 2 Jun 2007
I have just ported Tkzinc 3.3.4 for Maemo devices. (screenshot)
It needs openGL shared libraries even though it built as the function of openGL is disabled. That's why I also built Mesa3.1, which is very old version but enough to work. Binaries below are not debianized, because these are not official release. Use at your own risk.
Tkzinc-3.3.4_armel.tar.gz (required)
Mesa31_Xmu_Xt_so_armel.tar.gz (required)
MesaDemo_armel.tar.gz (if you want)



Before build gnocl, you have to install Maemo SDK and Tcl/Tk8.5.
login to scratchbox with ARMEL target.
Download a hildnized gnocl source archive and extract it.

 cd src

Modify Makefile as follows, if you need.

   USE_CANVAS := 1
   USE_GCONF := 1
   USE_VFS := 1
   USE_GNOME := 
   USE_HILDON := 1

 make; make install

That's all.

This release is tested with Maemo SDK 3.0 (bora), Tcl/Tk8.5a5,a6 and libgnomecanvas-2.14.0.

Differences against original gnocl

  • Added -fullscreen option in window command.
  • "cget -fullscreen" is enabled in window commad.
  • Added hildonize subcommand in menu widget.
  • Menu -tearoff option is off as default.
  • Breakpoint for debug is disabled, because ARMEL does not support it.


hildonized Gnocl 0.1 Apr 2007 : First release
hildonized Gnocl 0.2 May 2007 : GnomeCanvas is enabled.
hildonized Gnocl 0.3 Jun 2007 : maemoTk is available. Some bugs are fixed.


Now, Forums are open. Questions and comments are welcome.

Related site

There is no warrancy to use this software.
Hildonized part of gnocl is copyrighted by Tez Ono, and the other
part of gnocl is copyrighted by P.G. Baum.
Please refer to license.terms of gnocl.