[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

X window system for Symbolics



    No one has submitted an X11 server to the SLUG library.   X10.4 is in
    the SLUG library.   It only runs on Genera 7.1.   

    I fixed one bug in it that causes things to hang when a pop up menu is
    accidently invoked.  There is still a bug which causes removal of
    transparent windows to erase the underlying window.   X10.4 also breaks
    the operation of the Select Key but not so much that you can't get used
    to it.  There are probably many other bugs I have not recognized.

    I could use X11 myself especially if it works on Genera 7.2.   I have
    stayed with Genera 7.1 because I need either X or a fast telnet server.
    The Genera 7.2 telnet server corrected problems and added features
    missing in 7.1 but it is too slow.   I hope someone will contribute X11,
    if it exists, to the SLUG Library.

      -- Wilson M. Michaels

International Lisp Associates (ILA) is working on X11 for 7.2.  I
believe it will be a commercial product.

I have been using X10 on 7.2 with little trouble.  I had to fix one
problem due to an incompatible change in the calling sequence of
deexposed gray functions.  I only use the X server stuff; the
X-REMOTE-SCREEN package is completely incompatible with 7.2.  I only use
it as a telnet/supdup substitute, so I probably don't exercise many of
the buggy parts (even in 7.1 I had trouble with GNU Emacs's pop-up help
windows, so I don't use them).

This is the patch I installed.  It's a quick kludge, because I'm not
sure how the old call maps into the new style arguments.

(SYSTEM-INTERNALS:BEGIN-PATCH-SECTION)
(SYSTEM-INTERNALS:PATCH-SECTION-SOURCE-FILE "X-WINDOWS:X;SRVFLV.LISP.3")
(SYSTEM-INTERNALS:PATCH-SECTION-ATTRIBUTES
  "-*- Base: 10; Package: X-WINDOW-SYSTEM; Mode: LISP; Syntax: Common-lisp; Lowercase: T -*-")

;; args defined by gray-unused-areas-mixin

(defun retile-region (width height x y xphase yphase alu win1 &rest 7.2-args0)
  (ignore alu)
  1(if 7.2-args (return-from retile-region nil))
0  (decf x (tv:sheet-left-margin-size win))
  (decf y (tv:sheet-top-margin-size win))
  (let ((state (send win :owner)))
    (multiple-value-bind (bits fore back pwidth pheight) (send (send win :tile) :contents)
      (cond ((null bits)
	     (send win :draw-rectangle width height x y
		   (send state :draw-alu fore GXcopy -1)))
	    (t
	     (multiple-value-setq (xphase yphase)
	       (send win :tile-phase xphase yphase pwidth pheight))
	     (send win :bitblt (send state :src-bitblt-alu fore back GXcopy -1) width height
		   bits xphase yphase x y))))))