Re: x11 guidance (slightly off-topic)
- From: Keith Packard <keithp keithp com>
- To: Patrick <pabos glypsube org>
- Cc: gtk-devel-list gnome org, Keith Packard <keithp keithp com>
- Subject: Re: x11 guidance (slightly off-topic)
- Date: Thu, 13 Mar 2003 22:54:48 -0800
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]