Re: x11 guidance (slightly off-topic)



Around 22 o'clock on Mar 13, Patrick wrote:

>  - Summarize what x standards/protocols/libraries etc. are relevant
> today? By relevant I mean two things: (1) encouraged by x developers and
> (2) primarily concerned with linux-style x window development (ie.
> xrender, begin process of removing crusty legacy stuff)

I'm encouraging people to take a good look at Xr and Xc to help build a
replacment rendering infrastructure for X.  Xr is a new postscript-like
rendering api that sits on Xc, an output-independent rendering library.
Xc currently supports Render-enabled X servers, but Carl Worth is busily 
adding support for non-Render servers.  The goal is to also have Xc 
support Postscript and other printers so that we can (finally) have an API 
that can efficiently draw to X as well as generate beautiful printed 
output.

> - x fonts are dead (replaced by xft2 and fontconfig)

Core X fonts are dead.  Fontconfig provides a neutral mechanism to find 
fonts while Xft provides a way to connect those to the X server.  I
suspect that Xft2 won't be sufficient to handle fonts in Xr, so we'll 
probably just replace that and have a new font model for Xr that more 
closely matches what Postscript uses.  Not to worry, that will sit
atop fontconfig so that font configuration and customization will work
without change.

> - xprint, x internationalization/accessibility efforts (whatever they
> are) are dead?

I'd like to see the end of Xprint -- it doesn't reasonably support modern 
Unicode-based applications with sophisticated text layout.  Not to mention 
the horrid graphics support based on the core X protocol (*YUCK*).  And,
as core fonts are dead, so is the entire output half of X i18n.  i18n input
is a different story; some of the core pieces are still in use and I don't 
know enough about the system to say how much we should keep.  Certainly 
the morass of ANSI-C locales is hurting this code; perhaps a new i18n 
input architecture that ignores locales and provides better integration 
with non-core text output mechanisms can come into existance.

> - x color management (?)

X has had primitive "color management" for the longest time; it support 
device characterization in terms of CIEXYZ<->iRGB color space conversion 
and "gamma" tables but applications have never really taken advantage of 
this.  I'd like to move pieces of this into Xr as we figure out how to do 
that; one big piece is to add gamma-corrected compositing into the server.

> - Xv extension

This provides access to the video overlay hardware present in most 
graphics chips.  That hardware does YUV->RGB color space conversion and
image scaling in hardware.  This reduces the work necessary to show MPEG 
movies by about a factor of two.  Xv also has lots of additional 
capabilities, including video input and generating video from the frame 
buffer, but those are much less prevalent.

> - Xft2 extension

Xft2 is just a library, not an extension.  It allows applications to use 
client-side fonts on any X server, selecting them with fontconfig and 
accelerating their presentation with Render where available.

> - Xrender

Xrender is a complete replacement for the core rendering infrastructure, 
providing image-compositing based operations in place of raster ops.  The 
goal is to slowly migrate applications away from core rendering and to 
this new library while simultaneously encouraging driver writers to 
provide acceleration for more and more of the functionality.  It is used 
by Xc and Xft2 as well as directly by gdk.

> - RandR
> 	- Rotate and Resize extension. My canvas will have to listen for these
> events.

Your canvas should be able to ignore RandR; the size of the screen is 
generally not relevant to applications.  The window manager is responsible 
for ensuring that your window is visible and in a useful size on the 
screen.

> - Xt
> 	- what is Xt?

wow.  Xt is the "X Toolkit", a C library for building widget sets.  It's 
quite the horror, both inside and outside.   Xt is underneath Motif (and 
CDE, by extension).   Best left alone to rot off to the side.

-keith





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