crazy gdk idea...

or should i say wacky? in any case while browsing my X11R6 O'Rielly Volume Zero,
I noticed that it says that "X is truely defined on the protocol level, anything
which implements the protocol is a true implementation of X" and later it says
that the X consortium [sic.] releases a SAMPLE library for C and lisp which
implement this protocol on the client side. in any case.. I was thinking.. why
ont port gdk to RAW X protocol? It should not be too difficult. most everything
will translate directly. Xlib needs a good replacement anyway, its namespace
conventions are horrible. 
this would have a number of advantages... 

	* many Xlib implementations implement their own cacheing algorithms for GCs
and whatnot.. so does gdk (for styles.) this extra overhead can be gotten rid

	* simplicity... i wont have to feel guilty for using gdk when Xlib will
work just as well and be faster due to one less level of indirection.

	* a better protocol buffering algorithm could be implemented.. right now the
algorithm doesnt take advantage of multiprocessing as much as it could...
ideally one would want to send data as soon as the network/pipe was accepting
rater than wait for an internal buffer to fill up or an event to be needed.
   right now most servers and clients wont act in parallel. the buffer does not
get flushed until the client is awaiting a command meaning that the server does
not start acting on the clients requests until the client has already gone to
sleep. something better could be worked out using asynchronous IO or threads...
even on single processor systems it could be faster because the graphics chip
works in parlell with the system.

	* it would certianly make gdk a more attractive alternative.. it would no
longer be a 'layer over X' but rather an 'alternate, modern' implementaton of
the client side X protocol with the advantage of being cross platform to some

just some thoughts... it sounds a little less crazy the more I think about it..
Xlib was never meant to be a standard interface to X, just a sample
implementation. any thoughts? 

PS. O'rielly X volume Zero completly documents the X protocol if anyone is
curious... the extensions (Shape, whatnot) are availible for free from the X
distribution in the documentation subtree...

John Meacham

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