From: adam connor
Subject: Best options for Native GUI under Windows?
Date: 
Message-ID: <urjch0th9e9pniaorgt6qo5o4dnrftpse0@4ax.com>
What are the options if I want to produce an app with a native look
and feel under windows using Common Lisp?

Thanks in advance,

adam connor

From: Edi Weitz
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <87fz6xlb5x.fsf@bird.agharta.de>
On Sun, 08 Aug 2004 11:08:10 -0500, adam connor <···················@mail.com> wrote:

> What are the options if I want to produce an app with a native look
> and feel under windows using Common Lisp?

The LispWorks CAPI toolkit is very nice. It's Lispy and has the added
advantage that it's cross-platform, i.e. you can deliver programs
which work on Windows, OS X, and Linux (provided you have the
necessary licenses). Here are some examples of programs delivered with
the CAPI toolkit:

  <http://www.rocketdownload.com/details/Self/6724.htm>
  <http://www.netfonds.no/pt.php>
  <http://weitz.de/regex-coach/>

If you want to go to the bare metal of Win32 you might want to look at
this article

  <http://cl-cookbook.sourceforge.net/win32.html>

by Jeff Caldwell.

Corman Lisp is another CL implementation which is known for its good
Win32 API integration. It's not very ANSI-compliant, though.

And there's Franz' Allegro Common Lisp which has "Common Graphics" to
create Win32 GUI programs. I've never used it so I can't comment.

Cheers,
Edi.

-- 

"Lisp doesn't look any deader than usual to me."
(David Thornley, reply to a question older than most languages)

Real email: (replace (subseq ·········@agharta.de" 5) "edi")
From: Kenny Tilton
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <2rBRc.51243$oW6.11208424@twister.nyc.rr.com>
adam connor wrote:
> What are the options if I want to produce an app with a native look
> and feel under windows using Common Lisp?

AllegroCL and Lispworks offer thin wrappers on native win32 components. 
Corman has extensive win32 bindings so you can write a straight win32 
app if you like. LTk and my derivative thereof get native feel via Tk. 
The new kid on the block, Armed Bear CL I guess delivers native via the 
Java project that does that (forget the name).

kenny

-- 
Cells? Cello? Celtik?: http://www.common-lisp.net/project/cells/
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
From: neo88
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <6a73bb68.0408090519.314fb4ed@posting.google.com>
Kenny Tilton <·······@nyc.rr.com> wrote in message news:<························@twister.nyc.rr.com>...
> adam connor wrote:
> > What are the options if I want to produce an app with a native look
> > and feel under windows using Common Lisp?
> 
> AllegroCL and Lispworks offer thin wrappers on native win32 components. 
> Corman has extensive win32 bindings so you can write a straight win32 
> app if you like. LTk and my derivative thereof get native feel via Tk. 
> The new kid on the block, Armed Bear CL I guess delivers native via the 
> Java project that does that (forget the name).
> 
> kenny

Even the AllegroCL Trail Edtion has a GUI building app, that I guess
most CL implementations support. It's called Inspect. Looks a lot like
a VB building app if you are familer with those. (Personally, I
strongly dislike them, but...) You can pretty much do anything with
it, as long as it doesn't overflow the limited amount of allocation
set by the GC.

-- 
May the Source be with  you.
neo88 (Philip Haddad)
From: Andras Simon
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <vcdr7qgsmhw.fsf@csusza.math.bme.hu>
Kenny Tilton <·······@nyc.rr.com> writes:

> AllegroCL and Lispworks offer thin wrappers on native win32
> components. Corman has extensive win32 bindings so you can write a
> straight win32 app if you like. LTk and my derivative thereof get
> native feel via Tk. The new kid on the block, Armed Bear CL I guess
> delivers native via the Java project that does that (forget the name).

SWT. 

A lispy API on top of it (CAPI? (people seem to like it), Cello? LTk?)
would make it more suitable for nontrivial projects. Hopefully, in the
near future, writing Java in ABCL will get easier[1], and then it will at
least be feasible to implement one of these beasts. 

But in any case, be aware of Peter Graves' advice:

  "abcl isn't really ready for use by anyone but its developers." 

Andras

[1] Via an extension of jfli, which will deal with Java classes
generated at runtime in a sane way. But I'll have to pester both this
ng and the ABCL list with a few questions before that happens.
From: John Thingstad
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <opscgu7yt5pqzri1@mjolner.upc.no>
You can use cello when it is ready. It is a far cry from ready yet. It  
only works on allegro CL
and it is very limited. All respect to Kenny, but I think what he is  
saying is
"hold on".

On 09 Aug 2004 11:12:59 +0200, Andras Simon <······@math.bme.hu> wrote:

> Kenny Tilton <·······@nyc.rr.com> writes:
>
>> AllegroCL and Lispworks offer thin wrappers on native win32
>> components. Corman has extensive win32 bindings so you can write a
>> straight win32 app if you like. LTk and my derivative thereof get
>> native feel via Tk. The new kid on the block, Armed Bear CL I guess
>> delivers native via the Java project that does that (forget the name).
>
> SWT.
>
> A lispy API on top of it (CAPI? (people seem to like it), Cello? LTk?)
> would make it more suitable for nontrivial projects. Hopefully, in the
> near future, writing Java in ABCL will get easier[1], and then it will at
> least be feasible to implement one of these beasts.
>
> But in any case, be aware of Peter Graves' advice:
>
>   "abcl isn't really ready for use by anyone but its developers."
>
> Andras
>
> [1] Via an extension of jfli, which will deal with Java classes
> generated at runtime in a sane way. But I'll have to pester both this
> ng and the ABCL list with a few questions before that happens.



-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
From: Kenny Tilton
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <bMMRc.51256$oW6.11319054@twister.nyc.rr.com>
John Thingstad wrote:
> You can use cello when it is ready. It is a far cry from ready yet. It  
> only works on allegro CL
> and it is very limited. All respect to Kenny, but I think what he is  
> saying is
> "hold on".

Yes. As I see mentioned elsewhere today in re ABCL, Cello is mostly for 
developers only, and right now not even I am working on it. Indeed, I 
have been mostly loafing this summer, though occasionally I think about 
why wish (Tk) hangs all the time.

But it is time to get back to work, and I have to choose between Cello 
and Cells+LTk. Tk is a fine effort and would be a fast way to deliver 
apps with native look/feel on Windows and OS X (my requirement), but 
Cello was much more fun and prettier (and noisier). The nice thing about 
Tk is small deets such as file open/save dialogs. Decisions, decisions. :)

Kenny

ps. Cello also runs under Lispworks, and it has run under ACL+Linux. I 
wager LW+Linux would offer no resistance. LW + OS X would be a 
reasonable next step. k

> 
> On 09 Aug 2004 11:12:59 +0200, Andras Simon <······@math.bme.hu> wrote:
> 
>> Kenny Tilton <·······@nyc.rr.com> writes:
>>
>>> AllegroCL and Lispworks offer thin wrappers on native win32
>>> components. Corman has extensive win32 bindings so you can write a
>>> straight win32 app if you like. LTk and my derivative thereof get
>>> native feel via Tk. The new kid on the block, Armed Bear CL I guess
>>> delivers native via the Java project that does that (forget the name).
>>
>>
>> SWT.
>>
>> A lispy API on top of it (CAPI? (people seem to like it), Cello? LTk?)
>> would make it more suitable for nontrivial projects. Hopefully, in the
>> near future, writing Java in ABCL will get easier[1], and then it will at
>> least be feasible to implement one of these beasts.
>>
>> But in any case, be aware of Peter Graves' advice:
>>
>>   "abcl isn't really ready for use by anyone but its developers."
>>
>> Andras
>>
>> [1] Via an extension of jfli, which will deal with Java classes
>> generated at runtime in a sane way. But I'll have to pester both this
>> ng and the ABCL list with a few questions before that happens.
> 
> 
> 
> 

-- 
Cells? Cello? Celtik?: http://www.common-lisp.net/project/cells/
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
From: neo88
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <6a73bb68.0408091653.43f4e6e5@posting.google.com>
Kenny Tilton <·······@nyc.rr.com> wrote in message news:<························@twister.nyc.rr.com>...
> John Thingstad wrote:

> Indeed, I 
> have been mostly loafing this summer, though occasionally I think about 
> why wish (Tk) hangs all the time.

That's a good thought. I have often wondered the same thing. As a
matter of fact, wish hanging is the primary reason I don't use Tk
anymore. I did use it for a while when building my first Linux GUIs,
now I use SDL and am learning the CL bindings for it. :)

-- 
May the Source be with you.
neo88 (Philip Haddad)
From: Kenny Tilton
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <aeXRc.117138$a92.39080@twister.nyc.rr.com>
neo88 wrote:
> Kenny Tilton <·······@nyc.rr.com> wrote in message news:<························@twister.nyc.rr.com>...
> 
>>John Thingstad wrote:
> 
> 
>>Indeed, I 
>>have been mostly loafing this summer, though occasionally I think about 
>>why wish (Tk) hangs all the time.
> 
> 
> That's a good thought. I have often wondered the same thing. As a
> matter of fact, wish hanging is the primary reason I don't use Tk
> anymore. 

omigod. i am free to return to Cello and Cells II? i was going to debug 
wish via vc++6 but if it is a known issue i'll just declare victory on 
Celtic (+ LTk Cells) and move on.

is it an IPC problem that would go way if one used the C interface to 
call Tcl/Tk directly?

kenny

-- 
Cells? Cello? Celtik?: http://www.common-lisp.net/project/cells/
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
From: Kenny Tilton
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <quXRc.117174$a92.9568@twister.nyc.rr.com>
Wow, talk about garbled attributions in diced/sliced articles. It should 
go like this:

Kenny Tilton wrote:

> 
> 
> neo88 wrote:
> 
>> Kenny Tilton <·······@nyc.rr.com> wrote in message 
>> news:<························@twister.nyc.rr.com>...
>>
>>> Indeed, I have been mostly loafing this summer, though occasionally I 
>>> think about why wish (Tk) hangs all the time.
>>
>>
>>
>> That's a good thought. I have often wondered the same thing. As a
>> matter of fact, wish hanging is the primary reason I don't use Tk
>> anymore. 
> 

etc. and doubting I have it right.

kenny

-- 
Cells? Cello? Celtik?: http://www.common-lisp.net/project/cells/
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
From: neo88
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <6a73bb68.0408100454.46c69e9@posting.google.com>
Kenny Tilton <·······@nyc.rr.com> wrote in message news:<······················@twister.nyc.rr.com>...
> omigod. i am free to return to Cello and Cells II? i was going to debug 
> wish via vc++6 but if it is a known issue i'll just declare victory on 
> Celtic (+ LTk Cells) and move on.
> 
LOL. Yeah, I'm not sure, because no one else that uses Tk, seems to
have the same problems I do. Maybe it's just the version release....

> is it an IPC problem that would go way if one used the C interface to 
> call Tcl/Tk directly?

That's an interesting thought. I might just try that out sometime.
 
> kenny

-- 
May the Source be with you.
neo88 (Philip Haddad)
From: Kenny Tilton
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <Qc6Sc.93693$4h7.11117985@twister.nyc.rr.com>
neo88 wrote:
> Kenny Tilton <·······@nyc.rr.com> wrote in message news:<······················@twister.nyc.rr.com>...
> 
>>omigod. i am free to return to Cello and Cells II? i was going to debug 
>>wish via vc++6 but if it is a known issue i'll just declare victory on 
>>Celtic (+ LTk Cells) and move on.
>>
> 
> LOL. Yeah, I'm not sure, because no one else that uses Tk, seems to
> have the same problems I do. Maybe it's just the version release....

Oy vey. We are in the same boat, except now there are two of us with "no 
one else having the same problem".

Peter, you may recall everything works fine (with LTk as well as my 
heavily revised derivative, Celtic) until I hit a key, any key. This is 
true with various versions of Tk, including the latest. It is also true 
under ACL as well as LW. This is on WinXP Home. I tried on WinNT but 
that did not work at all.

Randomly trying things, specifying ":error-output stream" on the ACL 
run-shell whatsit somehow made Celtic work for key events. Although 
sometimes it would still hang the first time after godknowswhat. It was 
a spurious fix; it did not fix LTk, and when I installed the latest Tk 
the fix stopped fixing. Oh yeah: once I could handle key events I tried 
kicking off tk_getOpenFile or whatever that is and /that/ hung wish.

I suspect Tk has some dependency on some other lib which is not part of 
the install and which varies from win user to win user. Something like that.

kenny

-- 
Cells? Cello? Celtik?: http://www.common-lisp.net/project/cells/
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
From: Peter Herth
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <cfas4p$bpi$1@newsreader2.netcologne.de>
Kenny Tilton wrote:

> Peter, you may recall everything works fine (with LTk as well as my
> heavily revised derivative, Celtic) until I hit a key, any key. This is
> true with various versions of Tk, including the latest. It is also true
> under ACL as well as LW. This is on WinXP Home. I tried on WinNT but
> that did not work at all.
> 
> Randomly trying things, specifying ":error-output stream" on the ACL
> run-shell whatsit somehow made Celtic work for key events. Although
> sometimes it would still hang the first time after godknowswhat. It was
> a spurious fix; it did not fix LTk, and when I installed the latest Tk
> the fix stopped fixing. Oh yeah: once I could handle key events I tried
> kicking off tk_getOpenFile or whatever that is and /that/ hung wish.
> 
> I suspect Tk has some dependency on some other lib which is not part of
> the install and which varies from win user to win user. Something like
> that.

Yes I recall your reports, but in the meantime I got feedback from
other people using Ltk on Windows and it seemed to run properly. So
it would be great if we could locate the source of the problem that
hunts you.

Peter

-- 
pet project: http://dawn.netcologne.de
homepage:    http://www.peter-herth.de
lisp stuff:  http://www.peter-herth.de/lisp.html
get Ltk here: http://www.peter-herth.de/ltk/
From: neo88
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <6a73bb68.0408110507.4d385f7c@posting.google.com>
> Oy vey. We are in the same boat, except now there are two of us with "no 
> one else having the same problem".

Yeah it kinda sucks.

> Peter, you may recall everything works fine (with LTk as well as my 
> heavily revised derivative, Celtic) until I hit a key, any key. This is 
> true with various versions of Tk, including the latest. It is also true 
> under ACL as well as LW. This is on WinXP Home. I tried on WinNT but 
> that did not work at all.

Hmm. Tk may be dependent on a .dll file that windows despises. Wish
actually hangs for me in Linux. It usually stops doing it for that
program if I close it and start it again. I haven't really tried it on
windows very much, besides noticeing it is pretty darn slow.

> Randomly trying things, specifying ":error-output stream" on the ACL 
> run-shell whatsit somehow made Celtic work for key events. Although 
> sometimes it would still hang the first time after godknowswhat. It was 
> a spurious fix; it did not fix LTk, and when I installed the latest Tk 
> the fix stopped fixing. Oh yeah: once I could handle key events I tried 
> kicking off tk_getOpenFile or whatever that is and /that/ hung wish.

Same problem here.
 
> I suspect Tk has some dependency on some other lib which is not part of 
> the install and which varies from win user to win user. Something like that.

Well, for us Linux people, what version of GLibC do you have? I think
it may run out of that as a .o file or maybe it has some headers in
there somewhere. Just a thought.
 
> kenny

-- 
May the Source be with you.
neo88 (Philip Haddad)
From: John Thingstad
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <opscn0lziypqzri1@mjolner.upc.no>
What bothers me about Tk is the non standard interface.
If someone would create a interface to the wxWindows library
now that would be something!

On Wed, 11 Aug 2004 16:02:27 GMT, Kenny Tilton <·······@nyc.rr.com> wrote:

>
>
> neo88 wrote:
>
>> Hmm. Tk may be dependent on a .dll file that windows despises. Wish
>> actually hangs for me in Linux. It usually stops doing it for that
>> program if I close it and start it again.
>
> My experience went in the other direction. When my non-fix was working  
> it would sometimes not work on the first try, but then work reliably  
> thereafter.
>
>   I haven't really tried it on
>> windows very much, besides noticeing it is pretty darn slow.
>
> I also noticed the lack of anti-aliasing on the type. Some digging  
> suggests that is being addressed, but also that win32 versions of tcl/tk  
> already have anti-aliasing.
>
> I recently did wrappers for all the menu types. I think I will do the  
> same for all the "Items", update the Celtic repository and forget it  
> until someone wants to hire me to create Celtic interfaces.
>
> Maybe I'll spend a day looking at the C interface, too.
>
> kenny
>



-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
From: Peter Herth
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <cfi44k$s4$1@newsreader2.netcologne.de>
John Thingstad wrote:

> What bothers me about Tk is the non standard interface.
> If someone would create a interface to the wxWindows library
> now that would be something!

In which respect "non-standard" ?

Peter

-- 
pet project: http://dawn.netcologne.de
homepage:    http://www.peter-herth.de
lisp stuff:  http://www.peter-herth.de/lisp.html
get Ltk here: http://www.peter-herth.de/ltk/
From: Peter Herth
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <cfa04t$6co$1@newsreader2.netcologne.de>
neo88 wrote:

>> Indeed, I
>> have been mostly loafing this summer, though occasionally I think about
>> why wish (Tk) hangs all the time.
> 
> That's a good thought. I have often wondered the same thing. As a
> matter of fact, wish hanging is the primary reason I don't use Tk
> anymore. I did use it for a while when building my first Linux GUIs,
> now I use SDL and am learning the CL bindings for it. :)

Well, could you explain what your problem with wish is ? I lack
some windows testing experience but using Ltk under Linux and
Mac Os X I had no problems with haning wish. 

Peter


-- 
pet project: http://dawn.netcologne.de
homepage:    http://www.peter-herth.de
lisp stuff:  http://www.peter-herth.de/lisp.html
get Ltk here: http://www.peter-herth.de/ltk/
From: Wade Humeniuk
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <mFLRc.50815$yT2.26854@clgrps13>
adam connor wrote:
> What are the options if I want to produce an app with a native look
> and feel under windows using Common Lisp?

If you use a Windows Lisp that is natively-threaded, can access
DLL's, and has COM support, then you can do anything the
Window's platform supports.  Including DirectX, OpenGL ....
The key is that one has to do some work, but you have to do
that no matter which way you decide.

LWW, ACL for Windows and Corman Common Lisp, as far as I
know, can do all those things.  I am most familiar with
CAPI, so I would recommend that.  For many things CAPI
is good-enough.  If you need to do GUI things that are
beyond CAPI's capabilities then you will be able to
code it under LWW.

But what is it you really need?  What kind of app?

Wade
From: Peter Herth
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <cfa08l$6co$2@newsreader2.netcologne.de>
adam connor wrote:

> What are the options if I want to produce an app with a native look
> and feel under windows using Common Lisp?

You should give Ltk a try (see link below). Its free, easy to use and
works with a broad range of Common Lisps so you are not tied to a
single one.

Peter

-- 
pet project: http://dawn.netcologne.de
homepage:    http://www.peter-herth.de
lisp stuff:  http://www.peter-herth.de/lisp.html
get Ltk here: http://www.peter-herth.de/ltk/
From: adam connor
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <gl4oh015lijb9b291nuiej3v66dnu9su2b@4ax.com>
adam connor <···················@mail.com> said:

>What are the options if I want to produce an app with a native look
>and feel under windows using Common Lisp?
>
>Thanks in advance,
>
>adam connor

Thanks to those who responded for their tips and comments. Most of
them sound like cross-platform GUIs more than perfectly native GUIs,
but I guess I should do more research to decide if that matters. (My
experience with Swing is that it is easy to end up with something that
looks a bit "off" to Windows users.)
From: neo88
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <6a73bb68.0408130552.6d6e82d6@posting.google.com>
adam connor <···················@mail.com> wrote in message news:<··································@4ax.com>...
> adam connor <···················@mail.com> said:
> 
> >What are the options if I want to produce an app with a native look
> >and feel under windows using Common Lisp?
> >
> >Thanks in advance,
> >
> >adam connor
> 
> Thanks to those who responded for their tips and comments. Most of
> them sound like cross-platform GUIs more than perfectly native GUIs,
> but I guess I should do more research to decide if that matters. (My
> experience with Swing is that it is easy to end up with something that
> looks a bit "off" to Windows users.)

It's going to look a bit off, because the little graphcis librarys
that Microsoft uses are closed. That means you can't get to them. So
you will never be able to have the little red X that dims and lightens
up as the mouse passes over it, unless you write that in yourself.
There is no call and no GUI building app that will do it.

-- 
May the Source be with you.
neo88 (Philip Haddad)
From: Peter Herth
Subject: Re: Best options for Native GUI under Windows?
Date: 
Message-ID: <cfhtve$grc$1@newsreader2.netcologne.de>
adam connor wrote:

> Thanks to those who responded for their tips and comments. Most of
> them sound like cross-platform GUIs more than perfectly native GUIs,
> but I guess I should do more research to decide if that matters. (My
> experience with Swing is that it is easy to end up with something that
> looks a bit "off" to Windows users.)

cross-platform and native are not contraditions in principle. Your are 
right, the way swing achieves portability - by rendering every widget 
itself - may look a bit "off". But most of the other toolkits do use
the native widgets provided by a platform and only wrap a portable
library over them. So before your final verdict, try them out and
you will directly see, which one feels "right" and which one doesnt :).

Peter

-- 
pet project: http://dawn.netcologne.de
homepage:    http://www.peter-herth.de
lisp stuff:  http://www.peter-herth.de/lisp.html
get Ltk here: http://www.peter-herth.de/ltk/