Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!gatech!uflorida!rex!ginosko!uunet!mcvax!unido!pcsbst!jkh From: jkh@pcsbst.UUCP (jkh) Newsgroups: comp.windows.x Subject: More confusion with CLX Message-ID: <946@pcsbst.UUCP> Date: 12 Aug 89 19:54:40 GMT Reply-To: jkh@meepmeep.pcs.com ( Jordan K. Hubbard ) Organization: PCS GmbH, Pfaelzer-Wald-Str. 36, 8000 Muenchen; West-Germany Lines: 40 Ok, time for some more novice-type annoying questions. I brought up hello.l under my lisp system (AKCL 1.179) and tried running it. First off, I noticed that it wouldn't be happy unless I did a (in-package 'xlib :use '(lisp)) so that it could find the CLX functions, no big deal there, though it seems that this should be more transparent somehow [I will confess now that I'm a novice to Common Lisp, so I'm not all that sure how packages work. I'll spend some more time with the grey book]. Doing the in-package stuff also means that you have to be in the XLIB> package to run (hello-world) now, which is somewhat confusing at first. Second, I notice that I can't pass seem to pass any arguments to the open-display call in hello-world. Since I'm on display 1, this is something of a bother (display 0 is default)! I'm sure that there's some way of setting this in CLX, but with no doc... I end up hard-wiring the call to open-display. Ugh. I almost of wish open-display would accept the more braindamaged "host:disp.scrn" format for compatibility, but I understand why it was done the way it was. Third, when I run it, it sits around for awhile gc'ing and then does nothing. I discover that it is sitting on its butt waiting for an event. "Hmmm." I say. "Where's the window?? Grumble. Maybe if I add a display-force-output call after map-window?" Yes. Now the window shows up. Wunderbar. But no text. Ok, another force-output goes after the draw-glpyhs function. Fine. Window and text. Even handles expose events and goes away cooperatively when I click on it. The question is, why was all this necessary? Shouldn't the fact that it's waiting for an event (using whatever mechanism it uses, I don't see anything like "NextEvent" there, just some confusing event-case loop which I assume does much the same thing) flush the output queue? Enquiring minds would definately like to know. Jordan-- -------- Jordan Hubbard PCS Computer Systeme GmbH Munich, West Germany UUCP: pyramid!pcsbst!jkh jkh@meepmeep.pcs.com EUNET: unido!pcsbst!jkh ARPA: jkh@violet.berkeley.edu hubbard@decwrl.dec.com