Xprt does not play well with D-BUS
dparsons at debian.org
Mon May 5 17:53:58 PDT 2008
On Mon, 2008-05-05 at 12:52 +0300, Daniel Stone wrote:
> On Mon, May 05, 2008 at 01:04:33PM +1000, Drew Parsons wrote:
> > I can see two alternate workarounds, both simple and both emulating the
> > disabling of dbus within Xprint.
> > 1) add dummy functions config_init() and config_fini() to
> > xprint/ddxInit.c
> > 2) Use
> > #ifndef XPRINT
> > config_init()
> > #endif
> > at l.298 of dix/main.c, and similarly for config_fini() at l.452.
> Since we're already this far diverged, and everything we do to the DIX
> these days seems to just break Xprint rather than generate any benefit
> whatsoever, have you thought about forking the codebase, deleting all
> the unnecessary input/etc code, getting rid of the workarounds, and
> actually having something usable?
> Seriously, this is getting a bit out of hand.
You're right, at some point X.org probably needs to make a serious
decision about what to do about Xprint long term.
The reason why Xprint has been interesting and useful to me personally
is because earlier versions of firefox had grave issues printing
nonlatin web pages (in Russian, Thai, etc). Under the default
postscript driver they came up empty boxes, whereas Xprint was able to
render them more or less correctly. MathML was another issue, with
Xprint rendering it a little better than the default driver.
Today firefox (v2) appears to have its internationalisation sorted out.
Nonlatin pages print OK using the default driver. MathML is still
problematic, though that's true for both the default and Xprint drivers.
Firefox 3 is coming out soon. It uses Cairo and I expect therefore that
all these kinds of printing issues, including MathML, will become
history. If that is the case, then the release of firefox 3 could be a
good point for the X.org project to debate whether it wants to apply
git-rm -r hw/xprint to xserver.
I'm not proposing to fork Xprint myself (hell no!), I just want to see
that it preserves existing functionality, at least as long as firefox 2
is in common use. The workarounds manage that, and if I apply
Workaround #1 from above, that'll keep the changes within xprint itself
without fiddling further with dix.
More information about the xorg