Xprint.sgml revision d63b911f
1<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.3//EN" 'http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd'> 2 3<!-- Process this file with docbook-to-man to generate an nroff manual 4 page: 'docbook-to-man manpage.sgml > manpage.1'. You may view 5 the manual page with: 'docbook-to-man manpage.sgml | nroff -man | less'. 6 A typical entry in a Makefile or Makefile.am is: 7 8manpage.1: manpage.sgml 9 docbook-to-man $< > $@ 10 11HTML generation can be done like this: 12% xsltproc ==docbook /usr/share/sgml/docbook/docbook-xsl-stylesheets-1.60.1/html/docbook.xsl Xprint.sgml >Xprint.html 13 --> 14 15<refentry id="Xprint"> 16 <refmeta> 17 <refentrytitle>Xprint</refentrytitle> 18 <manvolnum>__miscmansuffix__</manvolnum> 19 </refmeta> 20 <refnamediv> 21 <refname>Xprint</refname> 22 23 <refpurpose>The "X print service" - a portable, network-transparent printing system based on the X11 protocol</refpurpose> 24 </refnamediv> 25 <refsynopsisdiv> 26 <para>Xprint is a very flexible, extensible, scalable, client/server 27 print system based on ISO 10175 (and some other specs) and the X11 28 rendering protocol. 29 Using Xprint an application can search, query and use devices like 30 printers, FAX machines or create documents in formats like PDF. 31 In particular, an application can seek a printer, query supported 32 attributes (like paper size, trays, fonts etc.), configure the printer 33 device to match it’s needs and print on it like on any other X device 34 reusing parts of the code which is used for the video card Xserver. 35 </para> 36 </refsynopsisdiv> 37 38 <refsect1> 39 <title>OVERVIEW</title> 40 <para> 41 The "X Print Service" technology allows X rendering to devices such as 42 printers and fax. Most of the service is available in the X11 43 technology stack as Xp, with the remainder in single toolkit stacks (e.g. DtPrint for CDE). 44 Modifications have also been made to the LessTif/Motif/Qt technology 45 stacks to support Xprint. 46 </para> 47 <para> 48 The Xp portion consists of: 49 <itemizedlist> 50 <listitem><para>Xp Extension for the X-Server (included in the X-Server Xprt)</para></listitem> 51 <listitem><para>Xp Extension API for the client side (libXp/libXprintUtils)</para></listitem> 52 <listitem><para>PCL ddx driver that converts core X to native PCL</para></listitem> 53 <listitem><para>PDF ddx driver that converts core X to native PDF</para></listitem> 54 <listitem><para>PostScript ddx driver that converts core X to native PostScript</para></listitem> 55 <listitem><para>Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters</para></listitem> 56 </itemizedlist> 57 </para> 58 <para> 59 From an X clients perspective, it can attach to one of two nearly 60 identical X-Servers, a "Video" X-Server, and a "Print" X-Server 61 which has the additional Xp capability but otherwise looks and 62 behaves the same. 63 </para> 64 </refsect1> 65 66 <refsect1> 67 <title>HOW THE X PRINT SERVICE WORKS</title> 68 <para> 69 The X Print Service expands on the traditional X-Server and Xlib world 70 in four ways. 71 72 <orderedlist> 73 <listitem> 74 <para> 75 Most obvious is the use of "print ddx drivers" instead of 76 "video ddx drivers". While a video ddx driver modifies pixels 77 in a video frame buffer, a print ddx driver generates "page 78 description language (PDL)" output (such as PCL, PDF or PostScript) 79 or sends the print rendering instructions to a platform-specific 80 print API (like Win32/GDI). 81 </para> 82 <para> 83 Once a print ddx driver generates PDL output, it can be sent to 84 a spooler such as <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry> 85 or retrieved by the client (to implement functionality like "print-to-file"). 86 </para> 87 <para> 88 Though not currently done, a single X-Server can support both 89 print and video ddx drivers. 90 <!-- FIXME: IBM/AIX people have integrated Xprt into their main Xserver (currently experimental) ... --> 91 </para> 92 </listitem> 93 <listitem> 94 <para> 95 Since printers support "paged" output, unlike video, a portion 96 of the Xp Extension supports APIs to delineate printed output. 97 For example, <function>XpStartPage</function> and <function>XpEndPage</function> tell the X-Server where 98 a physical page starts and ends in an otherwise continuous 99 stream of X rendering primitives. Likewise, <function>XpStartJob</function> and 100 <function>XpEndJob</function> determine when a collection of pages starts and ends. 101 <function>XpEndJob</function> typically causes the generated PDL to be submitted to 102 a spooler, such as <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>. 103 </para> 104 </listitem> 105 <listitem> 106 <para> 107 Since printers have extensive capabilities, another portion of 108 the Xp Extension supports APIs to manipulate "print contexts". 109 </para> 110 <para> 111 Once a printer is selected using the Xp Extension API, a print 112 context to represent it can be created. A print context 113 embodies the printer selected - it contains the printer's 114 default capabilities, selectable range of capabilities, 115 printer state, and generated output. Some "attributes" within 116 the print context can be modified by the user, and the 117 X-Server and print ddx driver will react accordingly. For 118 example, the attribute "content-orientation" can be set to 119 "landscape" or "portrait" (if the printer supports these 120 values - which can be queried using the Xprint API as well). 121 </para> 122 </listitem> 123 <listitem> 124 <para> 125 Since printers can have "built in" fonts, the Xp Extension in 126 the X-Server works with the print ddx drivers to make 127 available (for printing only) additional fonts on a per print 128 context basis. 129 </para> 130 <para> 131 When a print context is created and set for a given printer, 132 the X font calls may be able to access additional printer 133 fonts. To do this (typically), the X-Server must have access 134 to "printer metric files" (.pmf) that describe at minimum the 135 metrics of the built in fonts. 136 </para> 137 </listitem> 138 </orderedlist> 139 </para> 140 </refsect1> 141 142 <refsect1> 143 <title>USAGE</title> 144 <para> 145 There are three tasks to start the X Print Service: 146 <orderedlist> 147 <listitem><para>configuring the X Print Server,</para></listitem> 148 <listitem><para>starting the X Print Service</para></listitem> 149 <listitem><para>configuring the user session so that clients can find the running X Print Service</para></listitem> 150 </orderedlist> 151 </para> 152 <para> 153 The tasks are described in detail below. 154 </para> 155 </refsect1> 156 157 <refsect1> 158 <title>SERVER CONFIGURATION</title> 159 <para> 160 The X Print Server (Xprt) can read a number of configuration files which 161 control its behavior and support for printers. Each vendor platform has 162 a default location for this information. Xprt can also read the 163 environment variable <envar>XPCONFIGDIR</envar> to locate alternate configuration 164 directories. Common settings include: 165 166 <simplelist type="vert"> 167 <member>export XPCONFIGDIR=/X11/lib/X11/XpConfig/</member> 168 <member>export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/</member> 169 </simplelist> 170 </para> 171 <para> 172 Xprt has many built-in defaults, and lacking any configuration files, 173 will immediately try to support all printers visible via <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry>. 174 </para> 175 <para> 176 In order of importance for configuration by a system administrator, the 177 configuration files for a "C" locale are as follows (see <citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry> for more 178 details (including support for non-"C" locales)): 179 <variablelist> 180 <varlistentry> 181 <term><filename>${XPCONFIGDIR}/C/print/Xprinters</filename></term> 182 <listitem> 183 <para> 184 'Xprinters' is the top most configuration file. It tells 185 Xprt which specific printer names (e.g. mylaser) should 186 be supported, and whether <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> or other commands 187 should be used to automatically supplement the list of 188 printers. 189 </para> 190 </listitem> 191 </varlistentry> 192 193 <varlistentry> 194 <term><filename>${XPCONFIGDIR}/C/print/attributes/printer</filename></term> 195 <listitem> 196 <para> 197 The 'printer' file maps printer names to model 198 configurations (see 'model-config' below). For example, 199 "mylaser" could be mapped to a "HPDJ1600C", and all other 200 arbitrary printers could be mapped to a default, such as 201 "HPLJ4SI". When depending on <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> in the Xprinters 202 file, setting up defaults in 'printer' becomes all the 203 more important. 204 </para> 205 </listitem> 206 </varlistentry> 207 208 <varlistentry> 209 <term><filename>${XPCONFIGDIR}/C/print/attributes/document</filename></term> 210 <listitem> 211 <para> 212 The 'document' file specifies the initial document values 213 for any print jobs. For example, which paper tray to 214 use, what default resolution, etc. 215 </para> 216 </listitem> 217 </varlistentry> 218 219 <varlistentry> 220 <term><filename>${XPCONFIGDIR}/C/print/attributes/job</filename></term> 221 <listitem> 222 <para> 223 The 'job' file specifies the initial job values for any 224 print jobs. For example, "notification-profile" can be 225 set so that when a print job is successfully sent to a 226 printer, e-mail is sent to the user. 227 </para> 228 </listitem> 229 </varlistentry> 230 231 <varlistentry> 232 <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/model-config</filename></term> 233 <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir</filename></term> 234 <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf</filename></term> 235 <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf</filename></term> 236 237 <listitem> 238 <para> 239 The 'model-config' file has attributes that describe the 240 printer model’s capabilities and default settings. 241 Printer model fonts may also be present. The model-config 242 file also identifies the print ddx driver to be used. 243 244 For each printer model supported, a complete hierarchy of 245 files should exist. In most cases, these files do not 246 need to be modified. 247 </para> 248 </listitem> 249 </varlistentry> 250 251 <varlistentry> 252 <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pcl</filename></term> 253 <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pdf</filename></term> 254 <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/postscript</filename></term> 255 256 <listitem> 257 <para> 258 The print ddx drivers can have highly specific 259 configuration files to control their behavior. In most 260 cases, these files do not need to be modified. 261 </para> 262 </listitem> 263 </varlistentry> 264 </variablelist> 265 266 More information in how to configure and customize the X print server can be found in the 267 <citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry> 268 manual page. 269 </para> 270 </refsect1> 271 272 <refsect1> 273 <title>STARTING UP</title> 274 <para> 275 The summary checklist for starting the X Print Service is as follows: 276 277 <orderedlist> 278 <listitem> 279 <para> 280 Choose an execution model for the X Print Service. The X 281 Print Service can be run on a per-user session basis, per 282 machine basis, or can be run on a few machines globally 283 available to a number of users. 284 </para> 285 </listitem> 286 <listitem> 287 <para> 288 If print jobs are to be submitted to a spooler (almost always 289 the case), make sure all needed printers are available to the 290 spooler subsystem (most often <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>) 291 on the same machine running the X Print Service. 292 </para> 293 </listitem> 294 <listitem> 295 <para> 296 Configure the X Print Server. See ``X Print Server 297 Configuration''. 298 </para> 299 </listitem> 300 <listitem> 301 <para> 302 Depending on #1, start the X Print Server process "Xprt", and 303 then the toolkit-specific Print Dialog Manager Daemon process 304 (such as CDEnext's "dtpdmd") at the appropriate times. 305 Note that libXprintUtils-based applications/toolkits do not need 306 a Print Dialog Manager Daemon process to use Xprint. 307 </para> 308 </listitem> 309 </orderedlist> 310 The details are described below. 311 </para> 312 <para> 313 Because the X Print Service is based on X, it can be easily distributed. 314 The most significant factors in which execution model to choose will be 315 driven by: 316 <itemizedlist> 317 <listitem> 318 <para> 319 how many printers will be accessible through the printer 320 subsystem on any given machine. A system administrator may 321 choose to cluster printers on a few given machines, or 322 scatter them across an organization and possibly make 323 extensive use of remote spoolers to make them globally 324 available. 325 </para> 326 </listitem> 327 <listitem> 328 <para> 329 how many machines will need a copy of the X Print Server 330 configuration files. The files have been architected so 331 that one super-set version of them can be maintained and 332 distributed (e.g. via NFS), and a per-machine or per-user 333 version of the `Xprinters' is all that is needed to have the 334 appropriate information in them utilized or ignored. 335 </para> 336 </listitem> 337 <listitem> 338 <para> 339 how many users can demand services from a given X Print 340 Service. 341 </para> 342 </listitem> 343 </itemizedlist> 344 345 With the above in mind, some obvious execution models include: 346 <itemizedlist> 347 <listitem> 348 <para> 349 Global - in this model, the system administrator is choosing 350 to run the X Print Service on a *few* select machines with 351 appropriate printers configured, and allow clients access to 352 the global resource. This can centralize the administration 353 of printers and configuration files, but may have to be 354 monitored for performance loading. 355 </para> 356 <para> 357 Startup would likely be done by boot-up scripts (such as <filename>/etc/init.d/xprint</filename>). 358 </para> 359 </listitem> 360 361 <listitem> 362 <para> 363 Per-machine - every machine with potential X Print Service 364 users would run the service. Printer and configuration file 365 administration is decentralized, and usage would be limited 366 to the users on the machine. 367 </para> 368 <para> 369 Startup would likely be done by boot-up scripts (such as <filename>/etc/init.d/xprint</filename>). 370 </para> 371 </listitem> 372 373 <listitem> 374 <para> 375 Per-user session - every user would run an entire X Print 376 Service for themselves. In the future, the Video X Server 377 normally started may contain Print X Server capability, so 378 this model becomes very natural. 379 </para> 380 <para> 381 Startup would likely be done at session login or by 382 launching actions or processes manually once the user 383 logs in. Note: Daemons like "dtpdmd" must be started after Xprt. 384 </para> 385 </listitem> 386 </itemizedlist> 387 </para> 388 <para> 389 Starting of the processes is straight forward. In strict order (example is for manually starting the X print server for CDEnext usage): 390 <orderedlist> 391 <listitem> 392 <para> 393 <programlisting>[machineA] % Xprt [-XpFile <Xprinters file>] [:dispNum] &</programlisting> 394 </para> 395 <para> 396 Note that Xprt will look for configuration files in either 397 a default location or where <envar>XPCONFIGDIR</envar> points. 398 </para> 399 <para> 400 <option>-XpFile</option> specifies an alternate `Xprinters' file, rather 401 than the default one or `<filename>${XPCONFIGDIR}/C/print/Xprinters</filename>'. 402 </para> 403 </listitem> 404 <listitem> 405 <para> 406 <programlisting>[machineA] % dtpdmd -d machineA[:dispNum] [-l /tmp/dtpdmd.log] &</programlisting> 407 </para> 408 <para> 409 The dtpdmd will maintain an X-Selection on the X-Server, 410 and will start dtpdm's as required to service requests. 411 </para> 412 </listitem> 413 </orderedlist> 414 </para> 415 <para> 416 In all but the per-user session model, the machine running the dtpdmd 417 (thus dtpdm's) will need display authorization to the users video 418 display. 419 </para> 420 </refsect1> 421 422 <refsect1> 423 <title>CLIENT CONFIGURATION</title> 424 <para> 425 Once a X Print Server and dtpdmd have been started -- many of them 426 in some cases -- clients will need to find and use them. There are 427 two mechanisms that allow clients to discover X Print Servers and 428 printers. 429 430 <itemizedlist> 431 <listitem> 432 <para> 433 "X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print 434 applications, the following notation is understood: 435 </para> 436 <para> 437 <programlisting>printer_name@machine[:dispNum]</programlisting> 438 </para> 439 <para> 440 For example: 441 </para> 442 <para> 443 <programlisting>colorlj7@printhub:2</programlisting> 444 </para> 445 <para> 446 In the above example, the X Print Server running at `printhub:2' 447 is assumed to support the printer named `colorlj7'. 448 </para> 449 </listitem> 450 <listitem> 451 <para> 452 <envar>${XPSERVERLIST}</envar> - assuming usage of the DtPrint print dialogs, 453 the environment variable <envar>${XPSERVERLIST}</envar> can contain a list 454 of X Print Servers. For example: 455 </para> 456 <para> 457 <programlisting>XPSERVERLIST="printhub:2 printhub:3 otherdept:0"</programlisting> 458 </para> 459 <para> 460 Then in the dialogs, only a printer name needs to be entered. 461 The dialog will then search the X Print Servers in <envar>${XPSERVERLIST}</envar> 462 for a server than supports the printer, and then establish 463 contact. 464 </para> 465 </listitem> 466 </itemizedlist> 467 </para> 468 </refsect1> 469 470 <refsect1> 471 <title>END-USER SEQUENCE</title> 472 <para> 473 From most CDEnext applications, printing is accomplished by bringing 474 down the <File> menu and selecting <Print...>. This will result in 475 the DtPrintSetupBox dialog, which will request the name of a printer, 476 and offer limited capability to configure print options (e.g. number 477 of copies). If the user wishes, they can select <Setup...>, which 478 will start a dtpdm capable of modifying additional print options. 479 Finally, the user should select <Print>. 480 </para> 481 </refsect1> 482 483 <refsect1> 484 <title>ENVIRONMENT</title> 485 <variablelist> 486 <varlistentry> 487 <term><envar>${XPCONFIGDIR}</envar></term> 488 <listitem> 489 <para> This environment variable points to the root 490 of the Xprint server configuration directory hierarchy. 491 If the variable is not defined, the default 492 path is be assumed. The default path may be 493 <filename>/usr/X11R6/lib/X11/xserver/</filename>, 494 <filename>/usr/lib/X11/xserver/</filename>, 495 <filename>/usr/share/Xprint/xserver/</filename> or 496 <filename>/usr/openwin/server/etc/XpConfig</filename>, depending on the 497 system, and may be configured in <filename>/etc/init.d/xprint</filename>.</para> 498 </listitem> 499 </varlistentry> 500 501 <varlistentry> 502 <term><envar>${LANG}</envar></term> 503 <listitem> 504 <para> 505 This environment variable selects the locale settings used by the Xprint server. 506 Xprt allows language-specific settings (stored in <filename>${XPCONFIGDIR}/${LANG}/print/</filename>) 507 which will override the default settings (stored in <filename>${XPCONFIGDIR}/C/print/</filename>). 508 If <envar>${LANG}</envar> is not set "C" is assumed. 509 </para> 510 </listitem> 511 </varlistentry> 512 513 <varlistentry> 514 <term><envar>${XPSERVERLIST}</envar></term> 515 <listitem> 516 <para>The environment variable <envar>${XPSERVERLIST}</envar> contains a list 517 of display identifiers (separated by whitespace) which tell an 518 application where it can find the Xprint servers. Usually 519 <envar>${XPSERVERLIST}</envar> is set by the profile startup scripts (e.g. 520 <filename>/etc/profile</filename> or <filename>/etc/profile.d/xprint.sh</filename>) using the output of 521 <userinput>/etc/init.d/xprint get_xpserverlist</userinput>.</para> 522 <para>Example: 523 <informalexample> 524 <programlisting> 525 export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"</programlisting> 526 </informalexample> 527 </para> 528 <para>Alternatively <envar>${XPSERVERLIST}</envar> can be set 529 manually. Example:</para> 530 <informalexample> 531 <programlisting> 532 export XPSERVERLIST="littlecat:80 bitdog:72"</programlisting> 533 </informalexample> 534 <para> 535 instructs an application to find an Xprint server at display 536 80 on the machine "littlecat" and at display 72 on the 537 machine bigdog. 538 </para> 539 </listitem> 540 </varlistentry> 541 542 <varlistentry> 543 <term><envar>${XPRINTER}</envar> 544 </term> 545 <listitem> 546 <para>The environment variable <envar>${XPRINTER}</envar> 547 defines the default printer used by print 548 applications. The syntax is either 549 <replaceable>printername</replaceable> or 550 <replaceable>printername</replaceable>@<replaceable>display</replaceable>.</para> 551 <para>Examples: 552 <variablelist> 553 <varlistentry> 554 <term><userinput>XPRINTER=ps003</userinput></term> 555 <listitem><para> 556 tells an application to look for the 557 first printer named "ps003" on all Xprint 558 servers.</para> 559 </listitem> 560 </varlistentry> 561 562 <varlistentry> 563 <!-- brain dead <term> does not permit quote marks 564 (in XPRINTER="hplaser19@littlecat:80"), so omit them --> 565 <term><userinput>XPRINTER=hplaser19@littlecat:80</userinput></term> 566 <listitem><para> 567 tells an application to use the printer "hplaser19" 568 on the Xprint server at display 569 "littlecat:80".</para> 570 </listitem> 571 </varlistentry> 572 573 </variablelist> 574 </para> 575 <para>If <envar>${XPRINTER}</envar> is not set the applications 576 will examine the values of the <envar>${PDPRINTER}</envar>, 577 <envar>${LPDEST}</envar>, and 578 <envar>${PRINTER}</envar> environment variables (in that order). 579 </para> 580 </listitem> 581 </varlistentry> 582 </variablelist> 583 </refsect1> 584 585 <refsect1> 586 <title>SEE ALSO</title> 587 <para> 588 <simplelist type="inline"> 589 <!-- specific references --> 590 <!-- none --> 591 592 <!-- Xprint general references --> 593<!-- 594 <member><citerefentry><refentrytitle>Xprint</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member> 595--> 596 <member><citerefentry><refentrytitle>X11</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member> 597 <member><citerefentry><refentrytitle>xplsprinters</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> 598 <member><citerefentry><refentrytitle>xprehashprinterlist</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> 599 <member><citerefentry><refentrytitle>xphelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> 600 <member><citerefentry><refentrytitle>xpxmhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> 601 <member><citerefentry><refentrytitle>xpawhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> 602 <member><citerefentry><refentrytitle>xpxthelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> 603 <member><citerefentry><refentrytitle>xpsimplehelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> 604 <member><citerefentry><refentrytitle>Xserver</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> 605 <member><citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> 606 <!-- ToDO: Add manual pages for the single Xprint DDX implementations (PostScript/PDF/PCL/PCL-MONO/Raster/etc.) --> 607 <member><citerefentry><refentrytitle>libXp</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member> 608 <member><citerefentry><refentrytitle>libXprintUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member> 609 <member><citerefentry><refentrytitle>libXprintAppUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member> 610 <member><citerefentry><refentrytitle>XmPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member> 611 <member><citerefentry><refentrytitle>XawPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member> 612 <member>Xprint FAQ (<ulink url="http://xprint.mozdev.org/docs/Xprint_FAQ.html">http://xprint.mozdev.org/docs/Xprint_FAQ.html</ulink>)</member> 613 <member>Xprint main site (<ulink url="http://xprint.mozdev.org/">http://xprint.mozdev.org/</ulink>)</member> 614 </simplelist> 615 </para> 616 </refsect1> 617 618 <refsect1> 619 <title>AUTHORS</title> 620 <para> 621 This manual page was written by 622 Roland Mainz <email>roland.mainz@nrubsig.org</email> based on the original X11R6.6 623 <filename>xc/programs/Xserver/XpConfig/README</filename>. 624 </para> 625 </refsect1> 626</refentry> 627 628