Rainer Keuchel has completed a port of Tcl/Tk 8.4a2 for WinCE on PDAs using his celib.dll [L1 ] porting library. Please check out his page out for the latest and greatest information at http://www.rainer-keuchel.de/wince/tcltk-ce.html .
Current Build date is March 19, 2002, with celib v3.12
Per the release notes, "Tcl/Tk is still a bit buggy on WINCE211. It works better on WINCE300."
Wiki pages with CE-specific code or ports are listed at PocketPC
Jeffrey Hobbs just uploaded Tcl/Tk 8.4.3 final binaries for WinCE 3.0 ARM devices to:
ftp://ftp.tcl.tk/pub/incoming/tcltk843ce-arm.zip
It includes the full Tcl/Tk + celib binaries needed for operation. There is a README on how to install it (you will need to set a few registry settings on your PocketPC device). In addition to Tcl/Tk, you will find tcllib1.4 and bwidget1.6, which both work out of the box (pure Tcl), and tktable2.8 as a proof-positive TEA ported library (works like a charm).
What was involved in compiling/porting the above extension (tktable)? I'm really interested in porting an application (Scid - http://scid.sourceforge.net ) to run on the PocketPC. This app is based around a Tcl/Tk extension (Don't know whether it is TEA compliant or not - I'm not sure how to tell either but will look into it at the weekend).
(That said, there would be quite some work already re-working the large search screens to work well in 240x320. I don't imagine this will be a quick project.)
Screenshots:
Example of a simple Editor
Tkcon on a pocketpc
[L2 ]
TkNotePad (with or without a menu bar)
[L3 ]
Tabbed Notebook and Tree Widget from D. Richard Hipp
[L6 ]
"Tcl lets you put the world in your pocket..." [L7 ]
Download
http://www.rainer-keuchel.de/wince/dirlist.html
Installation
RUNNING
[Add notes on how to run a file here] MPJ
NOTES
Currently contains the registry binary package (1.0). I have also checked this out with the tcltk only packages: Bwidget (1.3.0) and tcllib (1.1). I have also tested this out with tkcon.
Also to talk to the serial ports the valid names are "com1:", "com2:" and "com4:".
Please report bugs you find to Rainer Keuchel [L15 ] or to wince-devel [L16 ]
FILE: wince_tcktk.bat
::- Basic System Configuration REM Make changes here for your system set basepath=\Program Files set wish=%basepath%\Tcl\bin\wish84d.exe set tclsh=%basepath%\Tcl\bin\tclsh84d.exe set libdir=%basepath%\Tcl\lib set bindir=%basepath%\Tcl\bin set tcllibdir=%libdir%\tcl8.4 set tklibdir=%libdir%\tk8.4 ::- TclTk file associations cereg -k "HKCR\.tk" -n "" -v "tclfile" cereg -k "HKCR\.tcl" -n "" -v "tclfile" cereg -k "HKCR\tclfile" -n "" -v "TclTk Script" cereg -k "HKCR\tclfile\DefaultIcon" -n "" -v "%wish%,0" cereg -k "HKCR\tclfile\Shell\Open\Command" -n "" -v """"%wish%""" ""%%1""" ::- Tcl file associations cereg -k "HKCR\.tsh" -n "" -v "tshfile" cereg -k "HKCR\tshfile" -n "" -v "Tcl Script" cereg -k "HKCR\tshfile\DefaultIcon" -n "" -v "%tclsh%,0" cereg -k "HKCR\tshfile\Shell\Open\Command" -n "" -v """"% tclsh%""" ""%%1""" ::- Environment Info cereg -k "HKLM\Environment" -n "TCL_LIBRARY" -v "%tcllibdir%" cereg -k "HKLM\Environment" -n "TK_LIBRARY" -v "%tklibdir%" REM Height of 10 is ok, 14 does almost full screen cereg -k "HKLM\Environment" -n "ROWS" -v "14" REM MAX Width for PPC is 29 Chars cereg -k "HKLM\Environment" -n "COLS" -v "29" REM Home cereg -k "HKLM\Environment" -n "HOME" -v "\\" REM Temp cereg -k "HKLM\Environment" -n "TEMP" -v "\Temp" cereg -k "HKLM\Environment" -n "TMP" -v "\Temp" cereg -k "HKLM\Environment" -n "TMPDIR" -v "\Temp" cereg -k "HKLM\Environment" -n "TEMPDIR" -v "\Temp" REM Path cereg -k "HKLM\Environment" -n "PATH" -v "%bindir%;" REM Username cereg -k "HKLM\Environment" -n "USER" -v "nobody" REM Debugging trace level (0 to 255) cereg -k "HKLM\Environment" -n "XCE_TRACE" -v "0" REM Debugging trace file output cereg -k "HKLM\Environment" -n "XCE_TRACE_FILE" -v "\xce_trace.txt"
WISHLIST/QUESTIONS
It would be really neat if there was a way to detect the keyboard input panel popping up so that apps could take appropriate action - e.g. resize/scroll/move to ensure input point is visible above the keyboard.
I've noticed other native PocketPC applications do this, and a quick bit of googling reveals that there are a set of calls relating to SIP position, I don't know e.g. if this manifests as an event that tcl can see, or if the visibility mechanism could be used???
PocketPC socket/fileevent strangeness
See also Yakumo Alpha for detailed installation instructions on that PocketPC 2002 system, and iPAQ - iPAQ goes Japanese for RS's experiences. Symbolic links in Windows/CE