[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))))))