#!/bin/sh ../../scx <<EOF ,batch on ,open xlib (define (hello text) (let* ((dpy (open-display)) (cm (copy-colormap-and-free (display-default-colormap dpy))) ;; many ways to get color in your progs. (black (black-pixel dpy)) (white (white-pixel dpy)) (blue (alloc-color! cm (make-color 0 0 1))) (green (alloc-named-color cm "#00FF00")) (red (alloc-named-color cm 'red)) (win (create-window (display-default-root-window dpy) 100 200 300 200 10 'copy-from-parent 'copy-from-parent 'copy-from-parent (quasiquote ((,(set-window-attribute event-mask) . (exposure button-press)) (,(set-window-attribute background-pixel) . ,white) (,(set-window-attribute colormap) . ,cm))))) (gc (create-gcontext win (list (cons (gc-value background) white) (cons (gc-value foreground) black)))) (font (open-font dpy "*-new century schoolbook-bold-r*24*")) (font2 (open-font dpy "*times*18*"))) (set-wm-name! win '("scx Hello World Program")) (map-window win) (let event-loop () (display-flush-output dpy) (let ((e (wait-event dpy))) (if (case (event-type e) ((expose) (set-gcontext-font! gc font) (set-gcontext-foreground! gc black) (draw-poly-text win gc 10 25 text '1-byte) (set-gcontext-foreground! gc blue) (draw-poly-text win gc 20 50 (list font text) '1-byte) (set-gcontext-foreground! gc red) (set-gcontext-font! gc font2) (draw-image-text win gc 30 75 text '1-byte) #t) (else #f)) (event-loop) #f))) (close-display dpy))) (hello "Hello World!") ,exit EOF