On Thu, 18 Oct 2001, Kero van Gelder wrote:

> (btw, X is over a network, how's that on ``native''? :)

Well, it is true that X is over _sockets_.

_sockets_ allow programs to interoperate on a same machine. Now _sockets_
may be over a _network_ (e.g. a TCP/IP one), in which case you usually
still can reach your own machine. Anyway, by default, X11 is used
locally on plain local sockets (e.g. Unix Domain).

Performance-wise, on average, X11 sockets are faster than equivalent
Win32 system-calls, which in turn is faster than X11-on-Win32. That is
when plain Xlib is used (I don't claim that "RubyX11" is any fast.)

But -- I'm not sure what you think is funny here.



> How this relates to interoperability, I don't know. There is not much
> interoperability in an X server, except perhaps receiving some labeled
> stuff from a clipboard. Oh, and you can talk to the window manager, of
> course :)

Each Window has a property Hash in which Clients can store and read 
arbitrary data. Clients may get notified about changes in those
hashes. If this is overkill, then you can send user-events to windows.

If instead you need interoperation with another program through feature
FOO of window-system BAR then you may check whether X11 servers for BAR
implement interoperability with the equivalent X11 plugin/subprotocol. If
not, then you can say "I won't use X11 because X11-on-BAR doesn't support
FOO".

But -- I'm not sure what you think is funny here.



> Upon that, Mathieu, I don't think I need access to the entire X
> server. A Colormap event does not seem very interesting to me.

patch below.

RCS file: /src/lib/xlib/X11/Event.rb,v
retrieving revision 1.35
diff -u -r1.35 Event.rb
--- X11/Event.rb        2001/10/05 19:11:38     1.35
+++ X11/Event.rb        2001/10/17 23:00:05
@@ -267,15 +267,6 @@
        [:property, Any.of(Atom,None)]
 end
 
-class ColormapNotifyEvent < Event
-       code_is 32
-       fields_are \
-       [:window, Window],
-       [:colormap, Any.of(Colormap,None)],
-       [:new, Bool],
-       [:state, ColormapNotifyState]
-end
-
 class ClientMessageEvent < Event
        code_is 33
        fields_are \

________________________________________________________________
Mathieu Bouchard                   http://hostname.2y.net/~matju