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

Xscope



------- Forwarded Message

To: berman@BERMAN.FAC.CS.CMU.EDU
Subject: Re: Can you point me in the right direction? 
In-reply-to: Your message of Wed, 11 Oct 89 14:51:54 -0400.
             <23825.624135114@BERMAN.FAC.CS.CMU.EDU> 
Date: Sat, 14 Oct 89 10:02:37 EDT
Message-ID: <3085.624376957@CHILES.SLISP.CS.CMU.EDU>
From: Bill.Chiles@CHILES.SLISP.CS.CMU.EDU


Steve, I cannot help you with this.  I have absolutely no time, and I know
nothing of the C library.  If you want to wait a few weeks, I could sit
down with you for an afternoon and do this.  I think if you look at the C
xlib and CLX calls, you'll find they're pretty similar; for the most part,
they directly reflect the protocol spec.  I find referring to the protocol
spec as helpful as documentation.

I personally feel that it is reasonable to ask them to provide C code to
demonstrate that their problem is in CLX or the server, but I know Brad is
unreasonable.  Another trick is to use xscope between the CLX client and
the X server.  With this, you can see all the packets between the two and
determine, using the protocol spec, whether CLX is sending the correct
codes to the server.  If CLX is sending the correct codes to the server,
then the server is at fault.  If CLX is sending the wrong bytes, then they
have to wait for the next release.  Here's an old message I wrote about xscope:
   To start xscope do the following:
      xscope -v4 -d0 -o0 -i1
   I used the following to see the output and to log it:
      xscope -v4 -d0 -o0 -i1 | tee $work/xscope.txt

   The -v4 says be as verbose as possible.  Supplying -v1 or -q says to simply
   echo the events and request names, sort of the same thing as setting the
   above mentioned special.  -d0 and -o0 tell xscope to a display 0 connection to
   talk to the X server, and -i1 tells xscope to receive client requests from
   the clients display 1 connection:
      _____            ______            ______
     |  X  |  <---->  |xscope|  <---->  |client|
     |_____|     0    |______|     1    |______|

   To see it in action, start a lisp and open display 1:
      (ext:open-clx-display "chiles.slisp.cs.cmu.edu:1")
   Note, do not use unix sockets (that is, "unix:1"); use TCP sockets.
   Using this display connection, kicks xscope into action.

   It helped me to realize today that the server was sending me correct data
   in one event slot that otherwise would have been hard to determine since I
   would have had to crawl inside CLX.


Let me know if you want to get together in a few weeks.

Bill

------- End of Forwarded Message