-
Notifications
You must be signed in to change notification settings - Fork 0
Scheme Client-side X-Protocol
License
cmikewilson/scheme-xp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
;;; README SCHEME-XP 0.1 scheme-xp is an implementation of the client-side X library from the socket layer up. Currently it implements much of the underlying structure as well as 29 X protocol calls. There are a few example programs in toys.scm like hello-world, shade, bounce-db, and color-change. It should be relatively straightforward to add remaining calls and write your own cool little toys. scheme-xp uses scsh, but isn't inherently scshy -- sockets and program calling, mostly. Look in xserver.scm, connection-requests.scm, non-portable-interface in xprotocol-package.scm, or grep for `scshy'. To run, say, hello-world, do this: jupiter$ scsh -lm xprotocol-package.scm -o toys [scsh related messages ...] Scsh 0.5 > (hello-world) Reading expose-event! [window appears] string-width: 120, string-height 13 [click in window] Reading button-press-event! #t > If it doesn't figure out your DISPLAY environment variable, try fixing the x-authorization function in connection-requests.scm . Tell me where this is documented. There is still a bit of settling to be done in how things are organized. While playing with `froggy' (frog.scm), a speed problem became clear. I made a simpler program, `mover' (toys.scm), that had the same problem. It paused five times. It was easy to reduce that to two times. I eventually got it down to 1.5 times, but it wasn't worth it and there's a lot of crud remaining from my frenzied garbage reduction attempts (Look at the string hoarding in requests.scm). As best as I can count, one run of mover should allocate 1440 bytes, one eight character string at a time. It has been suggested that the memory consumption is due to function call residue thrown on the heap. Other problems are mentioned in problems.text . Anyway, I'm going to be playing with something else for a while, but I expect to return to this later. Feel free to play with it, and let me know how things go; I'm happy to chat about it. It's fun. Mike Wilson Monday, May 3, 1999 [email protected] [email protected] http://www.scs.ryerson.ca/~cmwilson/code/scheme-xp/
About
Scheme Client-side X-Protocol
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published