anchor.diff:    (red :ushort) (green :ushort) (blue :ushort)
     (flags :char) (pad :char))
   
  +(defcstruct visual
  +  (ext-data :pointer)
  +  (visual-id visualid)
  +  (class :int)
  +  (red-mask :unsigned-long)
  +  (green-mask :unsigned-long)
  +  (blue-mask :unsigned-long)
  +  (bits-per-rgb :int)
  +  (map-entries :int))
  +
   (defcstruct visual-info
  -    (visual :pointer) (visual-id visualid) (screen :int)
  -    (depth :int) (class :int)
  -    (red-mask :ulong) (green-mask :ulong) (blue-mask :ulong)
  -    (colormap-size :int) (bpp :int))
  +  (visual (:pointer (:struct visual)))
  +  (visual-id visualid) (screen :int)
  +  (depth :int) (class :int)
  +  (red-mask :ulong) (green-mask :ulong) (blue-mask :ulong)
  +  (colormap-size :int) (bpp :int))
   
   (defcstruct set-window-attributes
     (bg-pixmap pixmap) (bg-pixel :unsigned-long)
  
positive.code: 
  (defctype x-queued-mode :int)
  
  ;; X11 bindings
  (define-foreign-library xlib
    (t (:default "libX11")))
  
negative.code:         (values t (mem-ref opcode :int) (mem-ref event :int) (mem-ref error :int))
          (values nil 0 0 0))))
  
  (defcfun ("XGetWindowAttributes" %x-get-window-attributes) x-status
    (display :pointer)
    (window window)
    (window-attributes-return (:pointer (:struct x-window-attributes))))
  
  (defun x-get-window-attributes (display win)
    (with-foreign-object (attr '(:struct x-window-attributes))
      (%x-get-window-attributes display win attr)
      (mem-aref attr '(:struct x-window-attributes))))
  
  
  (defconstant +status-success+ 0)
  (defconstant +status-bad-request+ 1)
  