Re: Informal announcement of Intention for supporting ICCCM in CLX

Christophe Rhodes <[email protected]> Sun, 17 Apr 2005 17:00:08 +0100
Newsgroups gmane.lisp.clx.devel
Message-ID <[email protected]>
Sean Champ <[email protected]> writes:

> I just wanted to mention that I intend to start working with support
> for ICCCM in CLX.

I'm not convinced that this makes sense.

> Granted, I'm not sure what's already in CLX, for ICCCM  -- if there's 
> anything, for it, there.  (A quick grep of the CLX sources turns-up one 
> incidiental hit, in manager.lisp - line 314)  I'm not immediately familiar 
> with the XFree86 "core protocol" either -- not sure which xspec it would be  
> documented in, either. So, I've some run-up to take care of, simply.

The X protocol, of which CLX and Xlib are implementations, is about
the communication between client and server.  The protocol is
documented in "proto.{html,txt.gz,ps.gz}" in the xspecs package on my
Debian machine.

ICCCM is a set of conventions for inter-client communication.  Since
there is no X-provided means for clients to talk directly to each
other, all such communication is mediated through the server, using
the "core protocol" of which you speak.

So, one would implement an ICCCM-compliant library or application on
top of CLX, and it would indeed be nice to see some such.

> I'll check the list archives, for anything that would've been
> done/said, about ICCCM in CLX.

Well, one of the aspects of ICCCM relates to the convention for
clipboard handling, for which there was a discussion and development
of a test program (in demo/clipboard.lisp) a few months back.  As one
can see, it is possible to write applications in CLX which adhere to
ICCCM: but it is also possible to write applications which do not, and
indeed it should remain so.

> * Motivation
>
> As for what was the intial part of my own motivion, for this: There is an 
> XEmacs "external editing widget" (documented in the info node, 
> 'external-widget', in the  xemacs Info documentation). I intend to make such 
> to work with an LGTK-based GTK interface. 

If you're using GTK on X, then you're not using CLX, you're using the
C Xlib implementation -- whether or not you are dynamically loading
gtk from lisp.

> After a quick perusal of the XEmacs external-widget documentation,
> it does appear that some ICCCM support will be required, in order
> for the means to be defined, for the XEmacs external widget to work
> with the XFree86 window that would contain it

It looks to me that it's not ICCCM support -- it's simply
communication between two clients using window properties, again
mediated by the server.  That is, it takes place over the same space
of communication as the various things defined by ICCCM, but the fact
that it uses the same mechanism doesn't mean that it actually is the
same.

> I can't think of how else to conclude this email, but to conclude it shortly.

If you're still going to go down this route, my advice to you is to
start off by reading both the protocol documentation and the ICCCM
document, and to run a couple of small test programs playing with
window properties and examining events.  

Cheers,

Christophe

_______________________________________________
Portable-clx mailing list
[email protected]
http://lists.metacircles.com/cgi-bin/mailman/listinfo/portable-clx
cvs -d :ext:cvs.telent.net:/usr/local/src/cvs co clx  # over ssh
cvs -d :pserver:[email protected]:/cvs co clx  # anonymous