Running a local version of wish is easy enough: just bind the LTK:*WISH-PATHNAME* variable to the pathname of your binary before using LTK:START-WISH or LTK:WITH-LTK. Using a different binary for different platforms is just a matter of using the #+ and #- reader macros to get the right pathname.
Using starkits for extensions is also quite simple, but you'll need to implement a few things yourself: you'll have write some code to load the startkit package in tcl (see LTK:*INIT-WISH-HOOK*), create a binding in ltk for loading the kits themselves (and any code in them), and you'll probably want one for loading dll-based libs (some extensions like TWAPI don't have starkits readily available).
I've got code for most of this around, which I'll try to post tonight after work.
-Matt Stickney
On Mon, Dec 16, 2013 at 2:16 PM, Joshua Kordani jkordani@lsa2.com wrote:
Greetings all,
I've been very interested in locating an easy to distribute, cross platform gui library that will allow for gui development in common lisp. After finding out about tclkits and seeing how small they are, I get the impression that this goal is reachable via distribution of the platform specific tclkit along with a common lisp image (with ltk configured to locate the supplied tclkit). I didn't find an archive of this list, and from what I've read in ltk docs, it seems like this concept is easily supported, but I am rather new to common lisp and tcl/tk. Given that I am new to common lisp, I don't necessarily know what part of the ltk code I need to read in order to figure out how to invoke a local instance of tcl/tk (let alone make a connection to a remote-tcl).
I am open to anything, if someone has walked this path before and knows of some documentation that might be illuminating, I'm all ears. In addition, if anyone has any suggestions about how I might go about this whole cross platform gui common lisp development effort more easily, I'm also all ears.
My short term goal is to produce enough material to run the ltkdemo (or at least, my own hello world code) from a lisp image that references a supplied tclkit on at least osx and windows.
Cheers!
-- Joshua Kordani LSA Autonomy