Well, one more round (as in 'ammo rounds') in our little flamewar :-)
Huh ? What do you call "translucency", then ? Do you think one couldn't render surfaces (with alpha channel) on client, and supply full-screen bitmaps to Xserver for output ? Translucency ? Yes. Effective ? No. Well, you can't have effective alpha-channel handling without hardware support.Extension to X protocol to allow more GC parameters and to allow setting window translucency. Window translucency is not even possible on client-side
Do you remember when and how Xft/XRender was introduced ? General Linux-users were screaming 'we want antialiased fonts ! MS has this feature, and we do not ! This is a major showstopper on Linux's road to desktop success...'and -- if absolutele wanted -- drawing operations could be emulated in client-side libraries when some of these extra attributes are in use. But not in all cases it is even necessary to emulate anything. You can't get blurred fonts without server support? So what?
KeithP was quick enough to produce more or less extensible solution.
Well, while I'm supporting this approach by myself, corporate world often disagrees with me. Recent example - one team in our company does cleanup (!) of Bluetooth stack for the major hardware manufacturer. It all started as a quick project to add a few missing features and to generally stabilise the damn thing. However, we're almost a year from the beginning, and , while full rewrite obviously would be cost- and goal-wise, our managers and customer are insisting on compatibility with original code,due to various, often legal, reasons. Fsck.
More and more APIs, more and more bloat and clutter. No wonder some people think X should be replaced because the developers can't keep it _clean_. (I'm obsessed with as clean as possible solutions.)
Text rendering, for example.XRender allows some things to be implemented much more efficientlySuch as?
Fonts and fontsets, then X(utf8|mb|wc)DrawString, whole load of GC ops before and after. How would you draw an arbitrarily rotated string ?
