Re: NET WM Spec implementation and changes



It isn't all that hard to do your own Xlib routine, even those implementing 
batching. Implementing Xlib routines is done by people implementing 
extensions, after all.  I suggest, however, that if you'd like it ubiquitous 
in the X community, you recode it into banal C; not everyone will buy 
into the C++ religion...  Avoiding round trips by batching isn't very 
hard.  To remind people, I enclose my previous pointer to where to find 
a good example of avoiding round trips implemented in Xlib.

I recommend sending your revised spec out for general review when
you've a nearly "final" spec, probably to the XFree86 developer list.
				- Jim



From: jg@pa.dec.com (Jim Gettys)
Resent-From: wm-spec-list@gnome.org
Date: Tue, 11 Jan 2000 09:32:48 -0800 (PST)
To: Matthias Ettrich <ettrich@troll.no>
Cc: wm-spec-list@gnome.org
Subject: Re: status?
-----
> From: Matthias Ettrich <ettrich@troll.no>
> Resent-From: wm-spec-list@gnome.org
> Date: Sun, 9 Jan 2000 20:30:18 +0100
> To: wm-spec-list@gnome.org
> Subject: Re: status?
> -----
> On Sun, 09 Jan 2000, Havoc Pennington wrote:
> > Hi,
> >
> > Is there a feeling that people are happy with the spec? Any final
> > additions? I noticed a few comments in the archives since the last
> > draft, but not too much traffic.
>
> Did we decide what to do with the property packing?
> Originally we intented to pack everything regarding client windows into one
> big,
> extensible property to avoid roundtrips to the server.
>
> Somebody mentioned that it's just a few lines X-lib hacking to be able to
read
> several property in one roundtrip, so we better keep it simple.
>

It was me...  It isn't all that hard to write Xlib routines to "do the
right thing" in a single round trip (you might claim I'm biased, having
written Xlib in the first place).  I have evidence on my side, however,
there having been significant X extensions written over the years.

There are things I'd do differently if I had them to do over again, so
handling errors is more of a problem than it might be, but it isn't all
that difficult.

Possibly the best example of doing this sort of batching is
in the routine XInternAtoms, in the file xc/lib/X11/IntAtom.c in an
X distribution: interning atoms became a Xt toolkit bottleneck, and so
this routine was added (and Xt reworked) to let you Intern a bunch of
atoms in one round trip.  XInternAtoms is between one or two pages of code.

                                - Jim

--
Jim Gettys
Technology and Corporate Development
Compaq Computer Corporation
jg@pa.dec.com


--
To unsubscribe: mail wm-spec-list-request@gnome.org with "unsubscribe"
as the Subject.




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