[Xprint] IDEA: A tool which prints an application window

Roland Mainz roland.mainz at nrubsig.org
Thu Oct 7 14:53:02 PDT 2004

Sebastien wrote:
> I spend some time with reading the XPrint documentation today - and
> after some time I was thinking myself 'hey, wouldn't it be cool if I
> can make snapshots from any application using XPrint? Its a Xserver
> after all, kind of, so any X application runs on it, right?'. Is that
> feasible - a tool which redirects an application window to the print
> server and prints that?

I thought a little bit about the issue. The primary problems are:
1. How to display the application on the Xprint server that it appears
within the paper surface (in Xprint the X11 windows usually represent
surfaces on paper) ?
2. How can it be detected that the application finished content loading
(for example a browser), layout, rendering etc. ?
3. How should pagination be implemented ?
4. How should the launched application be terminated ? There is no
window manager running on Xprt so another way is needed to send a
"window close" message to the application.

[1] can be realised quite easy using the APPGROUP extension which allows
an application to specify a window as display area. Then a special
MIT-MAGIC-COOKIE-1 gets generated using the SECURITY extension - all
applications which use this cookie will automagically apper within the
appgroup display area.
[2] is much harder to realise
[3] could be done using XawPrintShell, however the limitation is than
the total height of pages cannot exceed 2^15-1 pixels due a limitation
in the XawPrintShell code.
[4] I remember that somewhere was some example code whoch showed how to
send a "window close" message to an application using it's window id.
Alternatively |XKillClient()| could be used, however I don't like that

We need a name for the tool. Suggested names:
- "xpappsnapshot"
- "xpsnapshot"
- "xpappwindump"
Better suggestions welcome...



  __ .  . __
 (o.\ \/ /.o) roland.mainz at nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 7950090
 (;O/ \/ \O;)

More information about the xorg mailing list