]> git.pld-linux.org Git - packages/xorg-proto-xorgproto.git/blame - xorgproto-missing.patch
- updated to 2018.3 (randrproto 1.6.0 + bugfixes); release 5
[packages/xorg-proto-xorgproto.git] / xorgproto-missing.patch
CommitLineData
d27b05a4
JB
1diff -Nur xorgproto/man.orig/Xprint.man xorgproto/man/Xprint.man
2--- xorgproto/man.orig/Xprint.man 1970-01-01 01:00:00.000000000 +0100
3+++ xorgproto/man/Xprint.man 2018-02-20 15:29:03.205059476 +0100
4@@ -0,0 +1,421 @@
5+.\" -*- coding: us-ascii -*-
6+.TH Xprint __miscmansuffix__ "8 October 2004"
7+.SH NAME
8+Xprint \- The "X print service" - a portable, network-transparent printing system based on the X11 protocol
9+.SH SYNOPSIS
10+Xprint is a very flexible, extensible, scaleable, client/server
11+print system based on ISO 10175 (and some other specs) and the X11
12+rendering protocol.
13+Using Xprint an application can search, query and use devices like
14+printers, FAX machines or create documents in formats like PDF.
15+In particular, an application can seek a printer, query supported
16+attributes (like paper size, trays, fonts etc.), configure the printer
17+device to match it\(cqs needs and print on it like on any other X device
18+reusing parts of the code which is used for the video card Xserver.
19+.SH OVERVIEW
20+The "X Print Service" technology allows X rendering to devices such as
21+printers and fax. Most of the service is available in the X11
22+technology stack as Xp, with the remainder in single toolkit stacks (e.g. DtPrint for CDE).
23+Modifications have also been made to the LessTif/Motif/Qt technology
24+stacks to support Xprint.
25+.PP
26+The Xp portion consists of:
27+.TP 0.2i
28+\(bu
29+Xp Extension for the X-Server (included in the X-Server Xprt)
30+.TP 0.2i
31+\(bu
32+Xp Extension API for the client side (libXp/libXprintUtils)
33+.TP 0.2i
34+\(bu
35+PCL ddx driver that converts core X to native PCL
36+.TP 0.2i
37+\(bu
38+PDF ddx driver that converts core X to native PDF
39+.TP 0.2i
40+\(bu
41+PostScript ddx driver that converts core X to native PostScript
42+.TP 0.2i
43+\(bu
44+Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters
45+.PP
46+.PP
47+From an X clients perspective, it can attach to one of two nearly
48+identical X-Servers, a "Video" X-Server, and a "Print" X-Server
49+which has the additional Xp capability but otherwise looks and
50+behaves the same.
51+.SH "HOW THE X PRINT SERVICE WORKS"
52+The X Print Service expands on the traditional X-Server and Xlib world
53+in four ways.
54+.TP 0.4i
55+1.
56+Most obvious is the use of "print ddx drivers" instead of
57+"video ddx drivers". While a video ddx driver modifies pixels
58+in a video frame buffer, a print ddx driver generates "page
59+description language (PDL)" output (such as PCL, PDF or PostScript)
60+or sends the print rendering instructions to a platform-specific
61+print API (like Win32/GDI).
62+
63+Once a print ddx driver generates PDL output, it can be sent to
64+a spooler such as \fBlp\fR(1)
65+or retrieved by the client (to implement functionality like "print-to-file").
66+
67+Though not currently done, a single X-Server can support both
68+print and video ddx drivers.
69+.TP 0.4i
70+2.
71+Since printers support "paged" output, unlike video, a portion
72+of the Xp Extension supports APIs to delineate printed output.
73+For example, XpStartPage and XpEndPage tell the X-Server where
74+a physical page starts and ends in an otherwise continuous
75+stream of X rendering primitives. Likewise, XpStartJob and
76+XpEndJob determine when a collection of pages starts and ends.
77+XpEndJob typically causes the generated PDL to be submitted to
78+a spooler, such as \fBlp\fR(1).
79+.TP 0.4i
80+3.
81+Since printers have extensive capabilities, another portion of
82+the Xp Extension supports APIs to manipulate "print contexts".
83+
84+Once a printer is selected using the Xp Extension API, a print
85+context to represent it can be created. A print context
86+embodies the printer selected - it contains the printer's
87+default capabilities, selectable range of capabilities,
88+printer state, and generated output. Some "attributes" within
89+the print context can be modified by the user, and the
90+X-Server and print ddx driver will react accordingly. For
91+example, the attribute "content-orientation" can be set to
92+"landscape" or "portrait" (if the printer supports these
93+values - which can be queried using the Xprint API as well).
94+.TP 0.4i
95+4.
96+Since printers can have "built in" fonts, the Xp Extension in
97+the X-Server works with the print ddx drivers to make
98+available (for printing only) additional fonts on a per print
99+context basis.
100+
101+When a print context is created and set for a given printer,
102+the X font calls may be able to access additional printer
103+fonts. To do this (typically), the X-Server must have access
104+to "printer metric files" (.pmf) that describe at minimum the
105+metrics of the built in fonts.
106+.PP
107+.SH USAGE
108+There are three tasks to start the X Print Service:
109+.TP 0.4i
110+1.
111+configuring the X Print Server,
112+.TP 0.4i
113+2.
114+starting the X Print Service
115+.TP 0.4i
116+3.
117+configuring the user session so that clients can find the running X Print Service
118+.PP
119+.PP
120+The tasks are described in detail below.
121+.SH "SERVER CONFIGURATION"
122+The X Print Server (Xprt) can read a number of configuration files which
123+control its behavior and support for printers. Each vendor platform has
124+a default location for this information. Xprt can also read the
125+environment variable \fBXPCONFIGDIR\fR to locate alternate configuration
126+directories. Common settings include:
127+
128+export XPCONFIGDIR=/X11/lib/X11/XpConfig/
129+.PP
130+export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/
131+
132+.PP
133+Xprt has many built-in defaults, and lacking any configuration files,
134+will immediately try to support all printers visible via \fBlpstat\fR(1).
135+.PP
136+In order of importance for configuration by a system administrator, the
137+configuration files for a "C" locale are as follows (see \fBXprt\fR(__appmansuffix__) for more
138+details (including support for non-"C" locales)):
139+.TP
140+\fB${XPCONFIGDIR}/C/print/Xprinters\fR
141+\&'Xprinters' is the top most configuration file. It tells
142+Xprt which specific printer names (e.g. mylaser) should
143+be supported, and whether \fBlpstat\fR(1) or other commands
144+should be used to automatically supplement the list of
145+printers.
146+.TP
147+\fB${XPCONFIGDIR}/C/print/attributes/printer\fR
148+The 'printer' file maps printer names to model
149+configurations (see 'model-config' below). For example,
150+"mylaser" could be mapped to a "HPDJ1600C", and all other
151+arbitrary printers could be mapped to a default, such as
152+"HPLJ4SI". When depending on \fBlpstat\fR(1) in the Xprinters
153+file, setting up defaults in 'printer' becomes all the
154+more important.
155+.TP
156+\fB${XPCONFIGDIR}/C/print/attributes/document\fR
157+The 'document' file specifies the initial document values
158+for any print jobs. For example, which paper tray to
159+use, what default resolution, etc.
160+.TP
161+\fB${XPCONFIGDIR}/C/print/attributes/job\fR
162+The 'job' file specifies the initial job values for any
163+print jobs. For example, "notification-profile" can be
164+set so that when a print job is successfully sent to a
165+printer, e-mail is sent to the user.
166+.TP
167+\fB${XPCONFIGDIR}/C/print/models/PSdefault/model\-config\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf\fR
168+The 'model-config' file has attributes that describe the
169+printer model\(cqs capabilities and default settings.
170+Printer model fonts may also be present. The model-config
171+file also identifies the print ddx driver to be used.
172+For each printer model supported, a complete hierarchy of
173+files should exist. In most cases, these files do not
174+need to be modified.
175+.TP
176+\fB${XPCONFIGDIR}/C/print/ddx\-config/raster/pcl\fR, \fB${XPCONFIGDIR}/C/print/ddx\-config/raster/pdf\fR, \fB${XPCONFIGDIR}/C/print/ddx\-config/raster/postscript\fR
177+The print ddx drivers can have highly specific
178+configuration files to control their behavior. In most
179+cases, these files do not need to be modified.
180+.PP
181+More information in how to configure and customize the X print server can be found in the
182+\fBXprt\fR(__appmansuffix__)
183+manual page.
184+.SH "STARTING UP"
185+The summary checklist for starting the X Print Service is as follows:
186+.TP 0.4i
187+1.
188+Choose an execution model for the X Print Service. The X
189+Print Service can be run on a per-user session basis, per
190+machine basis, or can be run on a few machines globally
191+available to a number of users.
192+.TP 0.4i
193+2.
194+If print jobs are to be submitted to a spooler (almost always
195+the case), make sure all needed printers are available to the
196+spooler subsystem (most often \fBlp\fR(1))
197+on the same machine running the X Print Service.
198+.TP 0.4i
199+3.
200+Configure the X Print Server. See ``X Print Server
201+Configuration''.
202+.TP 0.4i
203+4.
204+Depending on #1, start the X Print Server process "Xprt", and
205+then the toolkit-specific Print Dialog Manager Daemon process
206+(such as CDEnext's "dtpdmd") at the appropriate times.
207+Note that libXprintUtils-based applications/toolkits do not need
208+a Print Dialog Manager Daemon process to use Xprint.
209+.PP
210+The details are described below.
211+.PP
212+Because the X Print Service is based on X, it can be easily distributed.
213+The most significant factors in which execution model to choose will be
214+driven by:
215+.TP 0.2i
216+\(bu
217+how many printers will be accessable through the printer
218+subsystem on any given machine. A system administrator may
219+choose to cluster printers on a few given machines, or
220+scatter them across an organization and possibly make
221+extensive use of remote spoolers to make them globally
222+available.
223+.TP 0.2i
224+\(bu
225+how many machines will need a copy of the X Print Server
226+configuration files. The files have been architected so
227+that one super-set version of them can be maintained and
228+distributed (e.g. via NFS), and a per-machine or per-user
229+version of the `Xprinters' is all that is needed to have the
230+appropriate information in them utilized or ignored.
231+.TP 0.2i
232+\(bu
233+how many users can demand services from a given X Print
234+Service.
235+.PP
236+With the above in mind, some obvious execution models include:
237+.TP 0.2i
238+\(bu
239+Global - in this model, the system administrator is choosing
240+to run the X Print Service on a *few* select machines with
241+appropriate printers configured, and allow clients access to
242+the global resource. This can centralize the administration
243+of printers and configuration files, but may have to be
244+monitored for performance loading.
245+
246+Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR).
247+.TP 0.2i
248+\(bu
249+Per-machine - every machine with potential X Print Service
250+users would run the service. Printer and configuration file
251+administration is decentralized, and usage would be limited
252+to the users on the machine.
253+
254+Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR).
255+.TP 0.2i
256+\(bu
257+Per-user session - every user would run an entire X Print
258+Service for themselves. In the future, the Video X Server
259+normally started may contain Print X Server capability, so
260+this model becomes very natural.
261+
262+Startup would likely be done at session login or by
263+launching actions or processes manually once the user
264+logs in. Note: Deamons like "dtpdmd" must be started after Xprt.
265+.PP
266+.PP
267+Starting of the processes is straight forward. In strict order (example is for manually starting the X print server for CDEnext usage):
268+.TP 0.4i
269+1.
270+
271+.nf
272+[machineA] % Xprt [\-XpFile <Xprinters file>] [:dispNum] &
273+.fi
274+
275+
276+Note that Xprt will look for configuration files in either
277+a default location or where \fBXPCONFIGDIR\fR points.
278+
279+\fB\-XpFile\fR specifies an alternate `Xprinters' file, rather
280+than the default one or `\fB${XPCONFIGDIR}/C/print/Xprinters\fR'.
281+.TP 0.4i
282+2.
283+
284+.nf
285+[machineA] % dtpdmd \-d machineA[:dispNum] [\-l /tmp/dtpdmd.log] &
286+.fi
287+
288+
289+The dtpdmd will maintain an X-Selection on the X-Server,
290+and will start dtpdm's as required to service requests.
291+.PP
292+.PP
293+In all but the per-user session model, the machine running the dtpdmd
294+(thus dtpdm's) will need display authorization to the users video
295+display.
296+.SH "CLIENT CONFIGURATION"
297+Once a X Print Server and dtpdmd have been started -- many of them
298+in some cases -- clients will need to find and use them. There are
299+two mechanisms that allow clients to discover X Print Servers and
300+printers.
301+.TP 0.2i
302+\(bu
303+"X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print
304+applications, the following notation is understood:
305+
306+
307+.nf
308+printer_name@machine[:dispNum]
309+.fi
310+
311+
312+For example:
313+
314+
315+.nf
316+colorlj7@printhub:2
317+.fi
318+
319+
320+In the above example, the X Print Server running at `printhub:2'
321+is assumed to support the printer named `colorlj7'.
322+.TP 0.2i
323+\(bu
324+\fB${XPSERVERLIST}\fR - assuming usage of the DtPrint print dialogs,
325+the environment variable \fB${XPSERVERLIST}\fR can contain a list
326+of X Print Servers. For example:
327+
328+
329+.nf
330+XPSERVERLIST="printhub:2 printhub:3 otherdept:0"
331+.fi
332+
333+
334+Then in the dialogs, only a printer name needs to be entered.
335+The dialog will then search the X Print Servers in \fB${XPSERVERLIST}\fR
336+for a server than supports the printer, and then establish
337+contact.
338+.PP
339+.SH "END-USER SEQUENCE"
340+From most CDEnext applications, printing is accomplished by bringing
341+down the <File> menu and selecting <Print...>. This will result in
342+the DtPrintSetupBox dialog, which will request the name of a printer,
343+and offer limited capability to configure print options (e.g. number
344+of copies). If the user wishes, they can select <Setup...>, which
345+will start a dtpdm capable of modifying additional print options.
346+Finally, the user should select <Print>.
347+.SH ENVIRONMENT
348+.TP
349+\fB${XPCONFIGDIR}\fR
350+This environment variable points to the root
351+of the Xprint server configuration directory hierarchy.
352+If the variable is not defined, the default
353+path is be assumed. The default path may be
354+\fB/usr/X11R6/lib/X11/xserver/\fR,
355+\fB/usr/lib/X11/xserver/\fR,
356+\fB/usr/share/Xprint/xserver/\fR or
357+\fB/usr/openwin/server/etc/XpConfig\fR, depending on the
358+system, and may be configured in \fB/etc/init.d/xprint\fR.
359+.TP
360+\fB${LANG}\fR
361+This environment variable selects the locale settings used by the Xprint server.
362+Xprt allows language-specific settings (stored in \fB${XPCONFIGDIR}/${LANG}/print/\fR)
363+which will override the default settings (stored in \fB${XPCONFIGDIR}/C/print/\fR).
364+If \fB${LANG}\fR is not set "C" is assumed.
365+.TP
366+\fB${XPSERVERLIST}\fR
367+The environment variable \fB${XPSERVERLIST}\fR contains a list
368+of display identifiers (separated by whitespace) which tell an
369+application where it can find the Xprint servers. Usually
370+\fB${XPSERVERLIST}\fR is set by the profile startup scripts (e.g.
371+\fB/etc/profile\fR or \fB/etc/profile.d/xprint.sh\fR) using the output of
372+\fB/etc/init.d/xprint get_xpserverlist\fR.
373+
374+Example:
375+
376+.nf
377+
378+ export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"
379+.fi
380+
381+
382+Alternatively \fB${XPSERVERLIST}\fR can be set
383+manually. Example:
384+
385+.nf
386+
387+ export XPSERVERLIST="littlecat:80 bitdog:72"
388+.fi
389+
390+instructs an application to find an Xprint server at display
391+80 on the machine "littlecat" and at display 72 on the
392+machine bigdog.
393+.TP
394+\fB${XPRINTER}\fR
395+The environment variable \fB${XPRINTER}\fR
396+defines the default printer used by print
397+applications. The syntax is either
398+\fIprintername\fR or
399+\fIprintername\fR@\fIdisplay\fR.
400+
401+Examples:
402+.RS
403+.TP
404+\fBXPRINTER=ps003\fR
405+tells an application to look for the
406+first printer named "ps003" on all Xprint
407+servers.
408+.TP
409+\fBXPRINTER=hplaser19@littlecat:80\fR
410+tells an application to use the printer "hplaser19"
411+on the Xprint server at display
412+"littlecat:80".
413+.RE
414+
415+
416+If \fB${XPRINTER}\fR is not set the applications
417+will examine the values of the \fB${PDPRINTER}\fR,
418+\fB${LPDEST}\fR, and
419+\fB${PRINTER}\fR environment variables (in that order).
420+.SH "SEE ALSO"
421+\fBX11\fR(__miscmansuffix__), \fBxplsprinters\fR(__appmansuffix__), \fBxprehashprinterlist\fR(__appmansuffix__), \fBxphelloworld\fR(__appmansuffix__), \fBxpxmhelloworld\fR(__appmansuffix__), \fBxpawhelloworld\fR(__appmansuffix__), \fBxpxthelloworld\fR(__appmansuffix__), \fBxpsimplehelloworld\fR(__appmansuffix__), \fBXserver\fR(__appmansuffix__), \fBXprt\fR(__appmansuffix__), \fBlibXp\fR(__libmansuffix__), \fBlibXprintUtils\fR(__libmansuffix__), \fBlibXprintAppUtils\fR(__libmansuffix__), \fBXmPrintShell\fR(__libmansuffix__), \fBXawPrintShell\fR(__libmansuffix__), Xprint FAQ (http://xprint.mozdev.org/docs/Xprint_FAQ.html), Xprint main site (http://xprint.mozdev.org/)
422+.SH AUTHORS
423+This manual page was written by
424+Roland Mainz <roland.mainz@nrubsig.org> based on the original X11R6.6
425+\fBxc/programs/Xserver/XpConfig/README\fR.
426diff -Nur xorgproto/man.orig/Xprint.sgml xorgproto/man/Xprint.sgml
427--- xorgproto/man.orig/Xprint.sgml 1970-01-01 01:00:00.000000000 +0100
428+++ xorgproto/man/Xprint.sgml 2018-02-20 15:29:03.205059476 +0100
429@@ -0,0 +1,627 @@
430+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.3//EN" 'http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd'>
431+
432+<!-- Process this file with docbook-to-man to generate an nroff manual
433+ page: 'docbook-to-man manpage.sgml > manpage.1'. You may view
434+ the manual page with: 'docbook-to-man manpage.sgml | nroff -man | less'.
435+ A typical entry in a Makefile or Makefile.am is:
436+
437+manpage.1: manpage.sgml
438+ docbook-to-man $< > $@
439+
440+HTML generation can be done like this:
441+% xsltproc ==docbook /usr/share/sgml/docbook/docbook-xsl-stylesheets-1.60.1/html/docbook.xsl Xprint.sgml >Xprint.html
442+ -->
443+
444+<refentry id="Xprint">
445+ <refmeta>
446+ <refentrytitle>Xprint</refentrytitle>
447+ <manvolnum>__miscmansuffix__</manvolnum>
448+ </refmeta>
449+ <refnamediv>
450+ <refname>Xprint</refname>
451+
452+ <refpurpose>The "X print service" - a portable, network-transparent printing system based on the X11 protocol</refpurpose>
453+ </refnamediv>
454+ <refsynopsisdiv>
455+ <para>Xprint is a very flexible, extensible, scaleable, client/server
456+ print system based on ISO 10175 (and some other specs) and the X11
457+ rendering protocol.
458+ Using Xprint an application can search, query and use devices like
459+ printers, FAX machines or create documents in formats like PDF.
460+ In particular, an application can seek a printer, query supported
461+ attributes (like paper size, trays, fonts etc.), configure the printer
462+ device to match it&rsquo;s needs and print on it like on any other X device
463+ reusing parts of the code which is used for the video card Xserver.
464+ </para>
465+ </refsynopsisdiv>
466+
467+ <refsect1>
468+ <title>OVERVIEW</title>
469+ <para>
470+ The "X Print Service" technology allows X rendering to devices such as
471+ printers and fax. Most of the service is available in the X11
472+ technology stack as Xp, with the remainder in single toolkit stacks (e.g. DtPrint for CDE).
473+ Modifications have also been made to the LessTif/Motif/Qt technology
474+ stacks to support Xprint.
475+ </para>
476+ <para>
477+ The Xp portion consists of:
478+ <itemizedlist>
479+ <listitem><para>Xp Extension for the X-Server (included in the X-Server Xprt)</para></listitem>
480+ <listitem><para>Xp Extension API for the client side (libXp/libXprintUtils)</para></listitem>
481+ <listitem><para>PCL ddx driver that converts core X to native PCL</para></listitem>
482+ <listitem><para>PDF ddx driver that converts core X to native PDF</para></listitem>
483+ <listitem><para>PostScript ddx driver that converts core X to native PostScript</para></listitem>
484+ <listitem><para>Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters</para></listitem>
485+ </itemizedlist>
486+ </para>
487+ <para>
488+ From an X clients perspective, it can attach to one of two nearly
489+ identical X-Servers, a "Video" X-Server, and a "Print" X-Server
490+ which has the additional Xp capability but otherwise looks and
491+ behaves the same.
492+ </para>
493+ </refsect1>
494+
495+ <refsect1>
496+ <title>HOW THE X PRINT SERVICE WORKS</title>
497+ <para>
498+ The X Print Service expands on the traditional X-Server and Xlib world
499+ in four ways.
500+
501+ <orderedlist>
502+ <listitem>
503+ <para>
504+ Most obvious is the use of "print ddx drivers" instead of
505+ "video ddx drivers". While a video ddx driver modifies pixels
506+ in a video frame buffer, a print ddx driver generates "page
507+ description language (PDL)" output (such as PCL, PDF or PostScript)
508+ or sends the print rendering instructions to a platform-specific
509+ print API (like Win32/GDI).
510+ </para>
511+ <para>
512+ Once a print ddx driver generates PDL output, it can be sent to
513+ a spooler such as <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>
514+ or retrieved by the client (to implement functionality like "print-to-file").
515+ </para>
516+ <para>
517+ Though not currently done, a single X-Server can support both
518+ print and video ddx drivers.
519+ <!-- FIXME: IBM/AIX people have integrated Xprt into their main Xserver (currently experimental) ... -->
520+ </para>
521+ </listitem>
522+ <listitem>
523+ <para>
524+ Since printers support "paged" output, unlike video, a portion
525+ of the Xp Extension supports APIs to delineate printed output.
526+ For example, <function>XpStartPage</function> and <function>XpEndPage</function> tell the X-Server where
527+ a physical page starts and ends in an otherwise continuous
528+ stream of X rendering primitives. Likewise, <function>XpStartJob</function> and
529+ <function>XpEndJob</function> determine when a collection of pages starts and ends.
530+ <function>XpEndJob</function> typically causes the generated PDL to be submitted to
531+ a spooler, such as <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
532+ </para>
533+ </listitem>
534+ <listitem>
535+ <para>
536+ Since printers have extensive capabilities, another portion of
537+ the Xp Extension supports APIs to manipulate "print contexts".
538+ </para>
539+ <para>
540+ Once a printer is selected using the Xp Extension API, a print
541+ context to represent it can be created. A print context
542+ embodies the printer selected - it contains the printer's
543+ default capabilities, selectable range of capabilities,
544+ printer state, and generated output. Some "attributes" within
545+ the print context can be modified by the user, and the
546+ X-Server and print ddx driver will react accordingly. For
547+ example, the attribute "content-orientation" can be set to
548+ "landscape" or "portrait" (if the printer supports these
549+ values - which can be queried using the Xprint API as well).
550+ </para>
551+ </listitem>
552+ <listitem>
553+ <para>
554+ Since printers can have "built in" fonts, the Xp Extension in
555+ the X-Server works with the print ddx drivers to make
556+ available (for printing only) additional fonts on a per print
557+ context basis.
558+ </para>
559+ <para>
560+ When a print context is created and set for a given printer,
561+ the X font calls may be able to access additional printer
562+ fonts. To do this (typically), the X-Server must have access
563+ to "printer metric files" (.pmf) that describe at minimum the
564+ metrics of the built in fonts.
565+ </para>
566+ </listitem>
567+ </orderedlist>
568+ </para>
569+ </refsect1>
570+
571+ <refsect1>
572+ <title>USAGE</title>
573+ <para>
574+ There are three tasks to start the X Print Service:
575+ <orderedlist>
576+ <listitem><para>configuring the X Print Server,</para></listitem>
577+ <listitem><para>starting the X Print Service</para></listitem>
578+ <listitem><para>configuring the user session so that clients can find the running X Print Service</para></listitem>
579+ </orderedlist>
580+ </para>
581+ <para>
582+ The tasks are described in detail below.
583+ </para>
584+ </refsect1>
585+
586+ <refsect1>
587+ <title>SERVER CONFIGURATION</title>
588+ <para>
589+ The X Print Server (Xprt) can read a number of configuration files which
590+ control its behavior and support for printers. Each vendor platform has
591+ a default location for this information. Xprt can also read the
592+ environment variable <envar>XPCONFIGDIR</envar> to locate alternate configuration
593+ directories. Common settings include:
594+
595+ <simplelist type="vert">
596+ <member>export XPCONFIGDIR=/X11/lib/X11/XpConfig/</member>
597+ <member>export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/</member>
598+ </simplelist>
599+ </para>
600+ <para>
601+ Xprt has many built-in defaults, and lacking any configuration files,
602+ will immediately try to support all printers visible via <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
603+ </para>
604+ <para>
605+ In order of importance for configuration by a system administrator, the
606+ configuration files for a "C" locale are as follows (see <citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry> for more
607+ details (including support for non-"C" locales)):
608+ <variablelist>
609+ <varlistentry>
610+ <term><filename>${XPCONFIGDIR}/C/print/Xprinters</filename></term>
611+ <listitem>
612+ <para>
613+ 'Xprinters' is the top most configuration file. It tells
614+ Xprt which specific printer names (e.g. mylaser) should
615+ be supported, and whether <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> or other commands
616+ should be used to automatically supplement the list of
617+ printers.
618+ </para>
619+ </listitem>
620+ </varlistentry>
621+
622+ <varlistentry>
623+ <term><filename>${XPCONFIGDIR}/C/print/attributes/printer</filename></term>
624+ <listitem>
625+ <para>
626+ The 'printer' file maps printer names to model
627+ configurations (see 'model-config' below). For example,
628+ "mylaser" could be mapped to a "HPDJ1600C", and all other
629+ arbitrary printers could be mapped to a default, such as
630+ "HPLJ4SI". When depending on <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> in the Xprinters
631+ file, setting up defaults in 'printer' becomes all the
632+ more important.
633+ </para>
634+ </listitem>
635+ </varlistentry>
636+
637+ <varlistentry>
638+ <term><filename>${XPCONFIGDIR}/C/print/attributes/document</filename></term>
639+ <listitem>
640+ <para>
641+ The 'document' file specifies the initial document values
642+ for any print jobs. For example, which paper tray to
643+ use, what default resolution, etc.
644+ </para>
645+ </listitem>
646+ </varlistentry>
647+
648+ <varlistentry>
649+ <term><filename>${XPCONFIGDIR}/C/print/attributes/job</filename></term>
650+ <listitem>
651+ <para>
652+ The 'job' file specifies the initial job values for any
653+ print jobs. For example, "notification-profile" can be
654+ set so that when a print job is successfully sent to a
655+ printer, e-mail is sent to the user.
656+ </para>
657+ </listitem>
658+ </varlistentry>
659+
660+ <varlistentry>
661+ <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/model-config</filename></term>
662+ <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir</filename></term>
663+ <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf</filename></term>
664+ <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf</filename></term>
665+
666+ <listitem>
667+ <para>
668+ The 'model-config' file has attributes that describe the
669+ printer model&rsquo;s capabilities and default settings.
670+ Printer model fonts may also be present. The model-config
671+ file also identifies the print ddx driver to be used.
672+
673+ For each printer model supported, a complete hierarchy of
674+ files should exist. In most cases, these files do not
675+ need to be modified.
676+ </para>
677+ </listitem>
678+ </varlistentry>
679+
680+ <varlistentry>
681+ <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pcl</filename></term>
682+ <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pdf</filename></term>
683+ <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/postscript</filename></term>
684+
685+ <listitem>
686+ <para>
687+ The print ddx drivers can have highly specific
688+ configuration files to control their behavior. In most
689+ cases, these files do not need to be modified.
690+ </para>
691+ </listitem>
692+ </varlistentry>
693+ </variablelist>
694+
695+ More information in how to configure and customize the X print server can be found in the
696+ <citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry>
697+ manual page.
698+ </para>
699+ </refsect1>
700+
701+ <refsect1>
702+ <title>STARTING UP</title>
703+ <para>
704+ The summary checklist for starting the X Print Service is as follows:
705+
706+ <orderedlist>
707+ <listitem>
708+ <para>
709+ Choose an execution model for the X Print Service. The X
710+ Print Service can be run on a per-user session basis, per
711+ machine basis, or can be run on a few machines globally
712+ available to a number of users.
713+ </para>
714+ </listitem>
715+ <listitem>
716+ <para>
717+ If print jobs are to be submitted to a spooler (almost always
718+ the case), make sure all needed printers are available to the
719+ spooler subsystem (most often <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>)
720+ on the same machine running the X Print Service.
721+ </para>
722+ </listitem>
723+ <listitem>
724+ <para>
725+ Configure the X Print Server. See ``X Print Server
726+ Configuration''.
727+ </para>
728+ </listitem>
729+ <listitem>
730+ <para>
731+ Depending on #1, start the X Print Server process "Xprt", and
732+ then the toolkit-specific Print Dialog Manager Daemon process
733+ (such as CDEnext's "dtpdmd") at the appropriate times.
734+ Note that libXprintUtils-based applications/toolkits do not need
735+ a Print Dialog Manager Daemon process to use Xprint.
736+ </para>
737+ </listitem>
738+ </orderedlist>
739+ The details are described below.
740+ </para>
741+ <para>
742+ Because the X Print Service is based on X, it can be easily distributed.
743+ The most significant factors in which execution model to choose will be
744+ driven by:
745+ <itemizedlist>
746+ <listitem>
747+ <para>
748+ how many printers will be accessable through the printer
749+ subsystem on any given machine. A system administrator may
750+ choose to cluster printers on a few given machines, or
751+ scatter them across an organization and possibly make
752+ extensive use of remote spoolers to make them globally
753+ available.
754+ </para>
755+ </listitem>
756+ <listitem>
757+ <para>
758+ how many machines will need a copy of the X Print Server
759+ configuration files. The files have been architected so
760+ that one super-set version of them can be maintained and
761+ distributed (e.g. via NFS), and a per-machine or per-user
762+ version of the `Xprinters' is all that is needed to have the
763+ appropriate information in them utilized or ignored.
764+ </para>
765+ </listitem>
766+ <listitem>
767+ <para>
768+ how many users can demand services from a given X Print
769+ Service.
770+ </para>
771+ </listitem>
772+ </itemizedlist>
773+
774+ With the above in mind, some obvious execution models include:
775+ <itemizedlist>
776+ <listitem>
777+ <para>
778+ Global - in this model, the system administrator is choosing
779+ to run the X Print Service on a *few* select machines with
780+ appropriate printers configured, and allow clients access to
781+ the global resource. This can centralize the administration
782+ of printers and configuration files, but may have to be
783+ monitored for performance loading.
784+ </para>
785+ <para>
786+ Startup would likely be done by boot-up scripts (such as <filename>/etc/init.d/xprint</filename>).
787+ </para>
788+ </listitem>
789+
790+ <listitem>
791+ <para>
792+ Per-machine - every machine with potential X Print Service
793+ users would run the service. Printer and configuration file
794+ administration is decentralized, and usage would be limited
795+ to the users on the machine.
796+ </para>
797+ <para>
798+ Startup would likely be done by boot-up scripts (such as <filename>/etc/init.d/xprint</filename>).
799+ </para>
800+ </listitem>
801+
802+ <listitem>
803+ <para>
804+ Per-user session - every user would run an entire X Print
805+ Service for themselves. In the future, the Video X Server
806+ normally started may contain Print X Server capability, so
807+ this model becomes very natural.
808+ </para>
809+ <para>
810+ Startup would likely be done at session login or by
811+ launching actions or processes manually once the user
812+ logs in. Note: Deamons like "dtpdmd" must be started after Xprt.
813+ </para>
814+ </listitem>
815+ </itemizedlist>
816+ </para>
817+ <para>
818+ Starting of the processes is straight forward. In strict order (example is for manually starting the X print server for CDEnext usage):
819+ <orderedlist>
820+ <listitem>
821+ <para>
822+ <programlisting>[machineA] % Xprt [-XpFile &lt;Xprinters file&gt;] [:dispNum] &amp;</programlisting>
823+ </para>
824+ <para>
825+ Note that Xprt will look for configuration files in either
826+ a default location or where <envar>XPCONFIGDIR</envar> points.
827+ </para>
828+ <para>
829+ <option>-XpFile</option> specifies an alternate `Xprinters' file, rather
830+ than the default one or `<filename>${XPCONFIGDIR}/C/print/Xprinters</filename>'.
831+ </para>
832+ </listitem>
833+ <listitem>
834+ <para>
835+ <programlisting>[machineA] % dtpdmd -d machineA[:dispNum] [-l /tmp/dtpdmd.log] &amp;</programlisting>
836+ </para>
837+ <para>
838+ The dtpdmd will maintain an X-Selection on the X-Server,
839+ and will start dtpdm's as required to service requests.
840+ </para>
841+ </listitem>
842+ </orderedlist>
843+ </para>
844+ <para>
845+ In all but the per-user session model, the machine running the dtpdmd
846+ (thus dtpdm's) will need display authorization to the users video
847+ display.
848+ </para>
849+ </refsect1>
850+
851+ <refsect1>
852+ <title>CLIENT CONFIGURATION</title>
853+ <para>
854+ Once a X Print Server and dtpdmd have been started -- many of them
855+ in some cases -- clients will need to find and use them. There are
856+ two mechanisms that allow clients to discover X Print Servers and
857+ printers.
858+
859+ <itemizedlist>
860+ <listitem>
861+ <para>
862+ "X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print
863+ applications, the following notation is understood:
864+ </para>
865+ <para>
866+ <programlisting>printer_name@machine[:dispNum]</programlisting>
867+ </para>
868+ <para>
869+ For example:
870+ </para>
871+ <para>
872+ <programlisting>colorlj7@printhub:2</programlisting>
873+ </para>
874+ <para>
875+ In the above example, the X Print Server running at `printhub:2'
876+ is assumed to support the printer named `colorlj7'.
877+ </para>
878+ </listitem>
879+ <listitem>
880+ <para>
881+ <envar>${XPSERVERLIST}</envar> - assuming usage of the DtPrint print dialogs,
882+ the environment variable <envar>${XPSERVERLIST}</envar> can contain a list
883+ of X Print Servers. For example:
884+ </para>
885+ <para>
886+ <programlisting>XPSERVERLIST="printhub:2 printhub:3 otherdept:0"</programlisting>
887+ </para>
888+ <para>
889+ Then in the dialogs, only a printer name needs to be entered.
890+ The dialog will then search the X Print Servers in <envar>${XPSERVERLIST}</envar>
891+ for a server than supports the printer, and then establish
892+ contact.
893+ </para>
894+ </listitem>
895+ </itemizedlist>
896+ </para>
897+ </refsect1>
898+
899+ <refsect1>
900+ <title>END-USER SEQUENCE</title>
901+ <para>
902+ From most CDEnext applications, printing is accomplished by bringing
903+ down the &lt;File&gt; menu and selecting &lt;Print...&gt;. This will result in
904+ the DtPrintSetupBox dialog, which will request the name of a printer,
905+ and offer limited capability to configure print options (e.g. number
906+ of copies). If the user wishes, they can select &lt;Setup...&gt;, which
907+ will start a dtpdm capable of modifying additional print options.
908+ Finally, the user should select &lt;Print&gt;.
909+ </para>
910+ </refsect1>
911+
912+ <refsect1>
913+ <title>ENVIRONMENT</title>
914+ <variablelist>
915+ <varlistentry>
916+ <term><envar>${XPCONFIGDIR}</envar></term>
917+ <listitem>
918+ <para> This environment variable points to the root
919+ of the Xprint server configuration directory hierarchy.
920+ If the variable is not defined, the default
921+ path is be assumed. The default path may be
922+ <filename>/usr/X11R6/lib/X11/xserver/</filename>,
923+ <filename>/usr/lib/X11/xserver/</filename>,
924+ <filename>/usr/share/Xprint/xserver/</filename> or
925+ <filename>/usr/openwin/server/etc/XpConfig</filename>, depending on the
926+ system, and may be configured in <filename>/etc/init.d/xprint</filename>.</para>
927+ </listitem>
928+ </varlistentry>
929+
930+ <varlistentry>
931+ <term><envar>${LANG}</envar></term>
932+ <listitem>
933+ <para>
934+ This environment variable selects the locale settings used by the Xprint server.
935+ Xprt allows language-specific settings (stored in <filename>${XPCONFIGDIR}/${LANG}/print/</filename>)
936+ which will override the default settings (stored in <filename>${XPCONFIGDIR}/C/print/</filename>).
937+ If <envar>${LANG}</envar> is not set "C" is assumed.
938+ </para>
939+ </listitem>
940+ </varlistentry>
941+
942+ <varlistentry>
943+ <term><envar>${XPSERVERLIST}</envar></term>
944+ <listitem>
945+ <para>The environment variable <envar>${XPSERVERLIST}</envar> contains a list
946+ of display identifiers (separated by whitespace) which tell an
947+ application where it can find the Xprint servers. Usually
948+ <envar>${XPSERVERLIST}</envar> is set by the profile startup scripts (e.g.
949+ <filename>/etc/profile</filename> or <filename>/etc/profile.d/xprint.sh</filename>) using the output of
950+ <userinput>/etc/init.d/xprint get_xpserverlist</userinput>.</para>
951+ <para>Example:
952+ <informalexample>
953+ <programlisting>
954+ export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"</programlisting>
955+ </informalexample>
956+ </para>
957+ <para>Alternatively <envar>${XPSERVERLIST}</envar> can be set
958+ manually. Example:</para>
959+ <informalexample>
960+ <programlisting>
961+ export XPSERVERLIST="littlecat:80 bitdog:72"</programlisting>
962+ </informalexample>
963+ <para>
964+ instructs an application to find an Xprint server at display
965+ 80 on the machine "littlecat" and at display 72 on the
966+ machine bigdog.
967+ </para>
968+ </listitem>
969+ </varlistentry>
970+
971+ <varlistentry>
972+ <term><envar>${XPRINTER}</envar>
973+ </term>
974+ <listitem>
975+ <para>The environment variable <envar>${XPRINTER}</envar>
976+ defines the default printer used by print
977+ applications. The syntax is either
978+ <replaceable>printername</replaceable> or
979+ <replaceable>printername</replaceable>@<replaceable>display</replaceable>.</para>
980+ <para>Examples:
981+ <variablelist>
982+ <varlistentry>
983+ <term><userinput>XPRINTER=ps003</userinput></term>
984+ <listitem><para>
985+ tells an application to look for the
986+ first printer named "ps003" on all Xprint
987+ servers.</para>
988+ </listitem>
989+ </varlistentry>
990+
991+ <varlistentry>
992+ <!-- brain dead <term> does not permit quote marks
993+ (in XPRINTER="hplaser19@littlecat:80"), so omit them -->
994+ <term><userinput>XPRINTER=hplaser19@littlecat:80</userinput></term>
995+ <listitem><para>
996+ tells an application to use the printer "hplaser19"
997+ on the Xprint server at display
998+ "littlecat:80".</para>
999+ </listitem>
1000+ </varlistentry>
1001+
1002+ </variablelist>
1003+ </para>
1004+ <para>If <envar>${XPRINTER}</envar> is not set the applications
1005+ will examine the values of the <envar>${PDPRINTER}</envar>,
1006+ <envar>${LPDEST}</envar>, and
1007+ <envar>${PRINTER}</envar> environment variables (in that order).
1008+ </para>
1009+ </listitem>
1010+ </varlistentry>
1011+ </variablelist>
1012+ </refsect1>
1013+
1014+ <refsect1>
1015+ <title>SEE ALSO</title>
1016+ <para>
1017+ <simplelist type="inline">
1018+ <!-- specific references -->
1019+ <!-- none -->
1020+
1021+ <!-- Xprint general references -->
1022+<!--
1023+ <member><citerefentry><refentrytitle>Xprint</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member>
1024+-->
1025+ <member><citerefentry><refentrytitle>X11</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member>
1026+ <member><citerefentry><refentrytitle>xplsprinters</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1027+ <member><citerefentry><refentrytitle>xprehashprinterlist</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1028+ <member><citerefentry><refentrytitle>xphelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1029+ <member><citerefentry><refentrytitle>xpxmhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1030+ <member><citerefentry><refentrytitle>xpawhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1031+ <member><citerefentry><refentrytitle>xpxthelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1032+ <member><citerefentry><refentrytitle>xpsimplehelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1033+ <member><citerefentry><refentrytitle>Xserver</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1034+ <member><citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1035+ <!-- ToDO: Add manual pages for the single Xprint DDX implementations (PostScript/PDF/PCL/PCL-MONO/Raster/etc.) -->
1036+ <member><citerefentry><refentrytitle>libXp</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
1037+ <member><citerefentry><refentrytitle>libXprintUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
1038+ <member><citerefentry><refentrytitle>libXprintAppUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
1039+ <member><citerefentry><refentrytitle>XmPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
1040+ <member><citerefentry><refentrytitle>XawPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
1041+ <member>Xprint FAQ (<ulink url="http://xprint.mozdev.org/docs/Xprint_FAQ.html">http://xprint.mozdev.org/docs/Xprint_FAQ.html</ulink>)</member>
1042+ <member>Xprint main site (<ulink url="http://xprint.mozdev.org/">http://xprint.mozdev.org/</ulink>)</member>
1043+ </simplelist>
1044+ </para>
1045+ </refsect1>
1046+
1047+ <refsect1>
1048+ <title>AUTHORS</title>
1049+ <para>
1050+ This manual page was written by
1051+ Roland Mainz <email>roland.mainz@nrubsig.org</email> based on the original X11R6.6
1052+ <filename>xc/programs/Xserver/XpConfig/README</filename>.
1053+ </para>
1054+ </refsect1>
1055+</refentry>
1056+
This page took 0.24021 seconds and 4 git commands to generate.