diff options
author | Earle F. Philhower III <earle@ziplabel.com> | 2004-12-05 05:04:26 +0000 |
---|---|---|
committer | Earle F. Philhower III <earle@ziplabel.com> | 2004-12-05 05:04:26 +0000 |
commit | f88288515be0a1f53190411ef6244af001425b48 (patch) | |
tree | 7c659f6b2648f73c362ae3ade325479e62689251 | |
parent | a6d5f9f53c884d395ec9172e3017f937dc9cc313 (diff) |
Optional position -screen parameter (-screen n WxH+X+Y or -screen n W H X
Y)
-rw-r--r-- | Xprint/doc/Xprt.html | 115 | ||||
-rw-r--r-- | Xprint/doc/Xprt.man.pre | 196 | ||||
-rw-r--r-- | Xprint/doc/Xprt.sgml | 371 | ||||
-rw-r--r-- | hw/xwin/InitOutput.c | 4 | ||||
-rw-r--r-- | hw/xwin/win.h | 5 | ||||
-rw-r--r-- | hw/xwin/wincreatewnd.c | 18 | ||||
-rwxr-xr-x | hw/xwin/winprocarg.c | 25 |
7 files changed, 729 insertions, 5 deletions
diff --git a/Xprint/doc/Xprt.html b/Xprint/doc/Xprt.html new file mode 100644 index 000000000..f84a3c134 --- /dev/null +++ b/Xprint/doc/Xprt.html @@ -0,0 +1,115 @@ +<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Xprt</title><meta name="generator" content="DocBook XSL Stylesheets V1.62.4"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en"><a name="Xprt"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><h2>Name</h2><p>Xprt — Print server for X Version 11</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><tt class="command">Xprt</tt> [<tt class="option">-ac</tt>] [<tt class="option">-audit <i class="replaceable"><tt>level</tt></i></tt>] [<tt class="option">-pn</tt>] [<tt class="option">-fp <i class="replaceable"><tt>fontpath</tt></i></tt>] [<tt class="option">-XpFile <i class="replaceable"><tt>file</tt></i></tt>] [<tt class="option">-XpSpoolerType <i class="replaceable"><tt>spoolername</tt></i></tt>] [<tt class="option">:<i class="replaceable"><tt>display</tt></i></tt>]</p></div></div><div class="refsect1" lang="en"><a name="id2804962"></a><h2>DESCRIPTION</h2><p><span><b class="command">Xprt</b></span> is the Xprint print server + for version 11 of the X Window system for non display devices + such as printers and fax machines.</p><p>Xprint is an advanced printing system which enables X11 + applications to use devices like printers, FAX or create + documents in formats like PostScript, PCL or PDF. It may be used by + clients such as <span class="application">mozilla</span>. + </p><p>Xprint is a very flexible, extensible, scaleable, client/server + print system based on ISO 10175 (and some other specs) and the X11 + rendering protocol. + Using Xprint an application can search, query and use devices like + printers, FAX machines or create documents in formats like PDF. + In particular, an application can seek a printer, query supported + attributes (like paper size, trays, fonts etc.), configure the printer + device to match it's needs and print on it like on any other X device + reusing parts of the code which is used for the video card Xserver. + </p></div><div xmlns:ns1="" class="refsect1" lang="en"><a name="id2805117"></a><h2>USAGE</h2><p> + Although Xprt may be invoked from the command line, it is + preferable to run it as a daemon via the init script + <tt class="filename">/etc/init.d/xprint</tt> (where this script exists). + </p><p>Client programs such as mozilla will require environment + variable <tt class="envar">${XPSERVERLIST}</tt> to be set, identifying the + "display" on which Xprt is running. This variable may be set + for all users via <tt class="filename">/etc/profile</tt> (or similar), using + <b class="userinput"><tt>/etc/init.d/xprint get_xpserverlist</tt></b>: + </p><div class="informalexample"><pre class="programlisting">export XPSERVERLIST=`/etc/init.d/xprint get_xpserverlist`</pre></div></div><div class="refsect1" lang="en"><a name="id2805150"></a><h2>OPTIONS</h2><p>Many of Xprt's command line options are shared in common + with the usual X servers (see <span class="citerefentry"><span class="refentrytitle">Xserver</span>(1x)</span>). + Commonly used options include:</p><div class="variablelist"><dl><dt><span class="term"><tt class="option">:<i class="replaceable"><tt>display</tt></i></tt></span></dt><dd><p> The X server runs on the given display. If multiple X + servers are to run simultaneously on a host, each must + have a unique display number. Note that the standard X + server (for video displays) typically runs on display + :0. If <tt class="filename">/etc/init.d/xprint</tt> is used + to invoke Xprt, it may be configured to automatically assign an available + display number.</p></dd><dt><span class="term"><tt class="option">-ac</tt></span></dt><dd><p>disables host-based access control mechanisms. Enables access + by any host, and permits any host to modify the access control + list. Use with extreme caution. This option exists primarily + for running test suites remotely.</p></dd><dt><span class="term"><tt class="option">-audit <i class="replaceable"><tt>level</tt></i></tt></span></dt><dd><p>sets the audit trail level. The default level is 1, meaning + only connection rejections are reported. Level 2 additionally + reports all successful connections and disconnects. Level 4 + enables messages from the SECURITY extension, if present, + including generation and revocation of authorizations and + violations of the security policy. Level 0 turns off the audit + trail. Audit lines are sent as standard error output.</p></dd><dt><span class="term"><tt class="option">-fp <i class="replaceable"><tt>fontpath</tt></i></tt></span></dt><dd><p>sets the search path for fonts. This path is a comma + separated list of directories which Xprt searches for + font databases.</p></dd><dt><span class="term"><tt class="option">-pn</tt></span></dt><dd><p>permits the server to continue running if it fails to + establish all of its well-known sockets (connection + points for clients), but establishes at least + one.</p></dd><dt><span class="term"><tt class="option">-XpFile <i class="replaceable"><tt>file</tt></i></tt></span></dt><dd><p>Sets an altername Xprinters file (see section FILES).</p></dd><dt><span class="term"><tt class="option">-XpSpoolerType <i class="replaceable"><tt>spoolername</tt></i></tt></span></dt><dd xmlns:ns2=""><p> + Defines the spooler system to be used for print job spooling. + Supported values in xprint.mozdev.org release 009 are: + </p><table class="simplelist" border="0" summary="Simple list"><tr><td>aix</td></tr><tr><td>aix4</td></tr><tr><td>bsd</td></tr><tr><td>osf</td></tr><tr><td>solaris</td></tr><tr><td>sysv</td></tr><tr><td>uxp</td></tr><tr><td>cups</td></tr><tr><td>lprng</td></tr><tr><td>other</td></tr><tr><td>none</td></tr></table><p> + (multiple values can be specified, seperated by ':', the first active spooler will be chosen). + The default value is platform-specific and can be obtained via + </p><pre class="programlisting">Xprt -h</pre><p>. + </p></dd></dl></div></div><div xmlns:ns3="" class="refsect1" lang="en"><a name="id2805336"></a><h2>ENVIRONMENT</h2><p> + The following environment variables are recognized by the X print server + (environment variables recognized by Xprint clients are described in + <span class="citerefentry"><span class="refentrytitle">Xprint</span>(7)</span>): + + </p><div class="variablelist"><dl><dt><span class="term"><tt class="envar">${XPCONFIGDIR}</tt></span></dt><dd><p> This environment variable points to the root + of the Xprint server configuration directory hierarchy. + If the variable is not defined, the default + path is be assumed. The default path may be + <tt class="filename">/usr/X11R6/lib/X11/xserver/</tt>, + <tt class="filename">/usr/lib/X11/xserver/</tt>, + <tt class="filename">/usr/share/Xprint/xserver/</tt> or + <tt class="filename">/usr/openwin/server/etc/XpConfig</tt>, depending on the + system, and may be configured in <tt class="filename">/etc/init.d/xprint</tt>.</p></dd><dt><span class="term"><tt class="envar">${LANG}</tt></span></dt><dd><p> + This environment variable selects the locale settings used by the Xprint server. + Xprt allows language-specific settings (stored in <tt class="filename">${XPCONFIGDIR}/${LANG}/print/</tt>) + which will override the default settings (stored in <tt class="filename">${XPCONFIGDIR}/C/print/</tt>). + If <tt class="envar">${LANG}</tt> is not set "C" is assumed. + </p></dd></dl></div></div><div class="refsect1" lang="en"><a name="id2805421"></a><h2>FILES</h2><div class="variablelist"><dl><dt><span class="term"><tt class="filename">${XPCONFIGDIR}/${LANG}/print/Xprinters</tt>, </span><span class="term"><tt class="filename">${XPCONFIGDIR}/C/print/Xprinters</tt></span></dt><dd><p> + `Xprinters' is the top most configuration file. It tells + Xprt which specific printer names (e.g. mylaser) should + be supported, and whether <span class="citerefentry"><span class="refentrytitle">lpstat</span>(1)</span> or other commands + should be used to automatically supplement the list of + printers. + </p></dd><dt><span class="term"><tt class="filename">${XPCONFIGDIR}/${LANG}/print/attributes/printer</tt>, </span><span class="term"><tt class="filename">${XPCONFIGDIR}/C/print/attributes/printer</tt></span></dt><dd><p> + The `printer' file maps printer names to model + configurations (see `model-config' below). For example, + "mylaser" could be mapped to a "HPDJ1600C", and all other + arbitrary printers could be mapped to a default, such as + "HPLJ4SI". When depending on <span class="citerefentry"><span class="refentrytitle">lpstat</span>(1)</span> in the Xprinters + file, setting up defaults in `printer' becomes all the + more important. + </p></dd><dt><span class="term"><tt class="filename">${XPCONFIGDIR}/${LANG}/print/attributes/document</tt>, </span><span class="term"><tt class="filename">${XPCONFIGDIR}/C/print/attributes/document</tt></span></dt><dd><p> + The `document' file specifies the initial document values + for any print jobs. For example, which paper tray to + use, what default resolution, etc. + </p></dd><dt><span class="term"><tt class="filename">${XPCONFIGDIR}/${LANG}/print/attributes/job</tt>, </span><span class="term"><tt class="filename">${XPCONFIGDIR}/C/print/attributes/job</tt></span></dt><dd><p> + The `job' file specifies the initial job values for any + print jobs. For example, "notification-profile" can be + set so that when a print job is successfully sent to a + printer, e-mail is sent to the user. + </p></dd><dt><span class="term"><tt class="filename">${XPCONFIGDIR}/C/print/models/PSdefault/model-config</tt>, </span><span class="term"><tt class="filename">${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir</tt>, </span><span class="term"><tt class="filename">${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf</tt>, </span><span class="term"><tt class="filename">${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf</tt></span></dt><dd><p> + The `model-config' file has attributes that describe the + printer model's capabilities and default settings. + Printer model fonts may also be present. The model-config + file also identifies the print ddx driver to be used. + + For each printer model supported, a complete hierarchy of + files should exist. In most cases, these files do not + need to be modified. + </p></dd><dt><span class="term"><tt class="filename">${XPCONFIGDIR}/C/print/ddx-config/raster/pdf</tt>, </span><span class="term"><tt class="filename">${XPCONFIGDIR}/C/print/ddx-config/raster/pcl</tt>, </span><span class="term"><tt class="filename">${XPCONFIGDIR}/C/print/ddx-config/raster/postscript</tt></span></dt><dd><p> + The print ddx drivers can have highly specific + configuration files to control their behavior. In most + cases, these files do not need to be modified. + </p></dd></dl></div></div><div class="refsect1" lang="en"><a name="id2805584"></a><h2>SEE ALSO</h2><p><span class="simplelist"><span class="citerefentry"><span class="refentrytitle">Xprint</span>(7)</span>, <span class="citerefentry"><span class="refentrytitle">X11</span>(7)</span>, <span class="citerefentry"><span class="refentrytitle">xplsprinters</span>(1x)</span>, <span class="citerefentry"><span class="refentrytitle">xprehashprinterlist</span>(1x)</span>, <span class="citerefentry"><span class="refentrytitle">xphelloworld</span>(1x)</span>, <span class="citerefentry"><span class="refentrytitle">xpxmhelloworld</span>(1x)</span>, <span class="citerefentry"><span class="refentrytitle">xpawhelloworld</span>(1x)</span>, <span class="citerefentry"><span class="refentrytitle">xpxthelloworld</span>(1x)</span>, <span class="citerefentry"><span class="refentrytitle">xpsimplehelloworld</span>(1x)</span>, <span class="citerefentry"><span class="refentrytitle">Xserver</span>(1x)</span>, <span class="citerefentry"><span class="refentrytitle">libXp</span>(3x)</span>, <span class="citerefentry"><span class="refentrytitle">libXprintUtils</span>(3x)</span>, <span class="citerefentry"><span class="refentrytitle">libXprintAppUtils</span>(3x)</span>, <span class="citerefentry"><span class="refentrytitle">XmPrintShell</span>(3x)</span>, <span class="citerefentry"><span class="refentrytitle">XawPrintShell</span>(3x)</span>, Xprint FAQ (<a href="http://xprint.mozdev.org/docs/Xprint_FAQ.html" target="_top">http://xprint.mozdev.org/docs/Xprint_FAQ.html</a>), Xprint main site (<a href="http://xprint.mozdev.org/" target="_top">http://xprint.mozdev.org/</a>)</span></p></div><div class="refsect1" lang="en"><a name="id2805757"></a><h2>AUTHORS</h2><p> + This manual page was written by + Drew Parsons <tt class="email"><<a href="mailto:dparsons@debian.org">dparsons@debian.org</a>></tt> and + Roland Mainz <tt class="email"><<a href="mailto:roland.mainz@nrubsig.org">roland.mainz@nrubsig.org</a>></tt>, + with some help from the man page at + <a href="http://www.sins.com.au/unix/manpages/Xprt.html" target="_top">http://www.sins.com.au/unix/manpages/Xprt.html</a> and the XFree86 + man page for <span class="citerefentry"><span class="refentrytitle">Xserver</span>(1)</span>. + </p></div></div></body></html> diff --git a/Xprint/doc/Xprt.man.pre b/Xprint/doc/Xprt.man.pre new file mode 100644 index 000000000..7599a1344 --- /dev/null +++ b/Xprint/doc/Xprt.man.pre @@ -0,0 +1,196 @@ +.\" -*- coding: us-ascii -*- +.TH Xprt __appmansuffix__ "25 November 2004" +.SH NAME +Xprt \- Print server for X Version 11 +.SH SYNOPSIS +.ad l +\fBXprt\fR \kx +.if (\nxu > (\n(.lu / 2)) .nr x (\n(.lu / 5) +'in \n(.iu+\nxu +[\fB\-ac\fR] [\fB\-audit \fBlevel\fR\fR] [\fB\-pn\fR] [\fB\-fp \fBfontpath\fR\fR] [\fB\-XpFile \fBfile\fR\fR] [\fB\-XpSpoolerType \fBspoolername\fR\fR] [\fB:\fBdisplay\fR\fR] +'in \n(.iu-\nxu +.ad b +.SH DESCRIPTION +Xprt is the Xprint print server +for version 11 of the X Window system for non display devices +such as printers and fax machines. +.PP +Xprint is an advanced printing system which enables X11 +applications to use devices like printers, FAX or create +documents in formats like PostScript, PCL or PDF. It may be used by +clients such as mozilla. +.PP +Xprint is a very flexible, extensible, scaleable, client/server +print system based on ISO 10175 (and some other specs) and the X11 +rendering protocol. +Using Xprint an application can search, query and use devices like +printers, FAX machines or create documents in formats like PDF. +In particular, an application can seek a printer, query supported +attributes (like paper size, trays, fonts etc.), configure the printer +device to match it's needs and print on it like on any other X device +reusing parts of the code which is used for the video card Xserver. +.SH USAGE +Although Xprt may be invoked from the command line, it is +preferable to run it as a daemon via the init script +\fB/etc/init.d/xprint\fR (where this script exists). +.PP +Client programs such as mozilla will require environment +variable \fB${XPSERVERLIST}\fR to be set, identifying the +"display" on which Xprt is running. This variable may be set +for all users via \fB/etc/profile\fR (or similar), using +\fB/etc/init.d/xprint get_xpserverlist\fR: + +.nf +export XPSERVERLIST=`/etc/init.d/xprint get_xpserverlist` +.fi + +.SH OPTIONS +Many of Xprt's command line options are shared in common +with the usual X servers (see \fBXserver\fR(__appmansuffix__)). +Commonly used options include: +.TP +\fB:\fIdisplay\fB\fR +The X server runs on the given display. If multiple X +servers are to run simultaneously on a host, each must +have a unique display number. Note that the standard X +server (for video displays) typically runs on display +:0. If \fB/etc/init.d/xprint\fR is used +to invoke Xprt, it may be configured to automatically assign an available +display number. +.TP +\fB\-ac\fR +disables host-based access control mechanisms. Enables access +by any host, and permits any host to modify the access control +list. Use with extreme caution. This option exists primarily +for running test suites remotely. +.TP +\fB\-audit \fIlevel\fB\fR +sets the audit trail level. The default level is 1, meaning +only connection rejections are reported. Level 2 additionally +reports all successful connections and disconnects. Level 4 +enables messages from the SECURITY extension, if present, +including generation and revocation of authorizations and +violations of the security policy. Level 0 turns off the audit +trail. Audit lines are sent as standard error output. +.TP +\fB\-fp \fIfontpath\fB\fR +sets the search path for fonts. This path is a comma +separated list of directories which Xprt searches for +font databases. +.TP +\fB\-pn\fR +permits the server to continue running if it fails to +establish all of its well-known sockets (connection +points for clients), but establishes at least +one. +.TP +\fB\-XpFile \fIfile\fB\fR +Sets an altername Xprinters file (see section FILES). +.TP +\fB\-XpSpoolerType \fIspoolername\fB\fR +Defines the spooler system to be used for print job spooling. +Supported values in xprint.mozdev.org release 009 are: + +aix + +aix4 + +bsd + +osf + +solaris + +sysv + +uxp + +cups + +lprng + +other + +none + +(multiple values can be specified, seperated by ':', the first active spooler will be chosen). +The default value is platform-specific and can be obtained via + +.nf +Xprt \-h +.fi + +\&. +.SH ENVIRONMENT +The following environment variables are recognized by the X print server +(environment variables recognized by Xprint clients are described in +\fBXprint\fR(__miscmansuffix__)): +.TP +\fB${XPCONFIGDIR}\fR +This environment variable points to the root +of the Xprint server configuration directory hierarchy. +If the variable is not defined, the default +path is be assumed. The default path may be +\fB/usr/X11R6/lib/X11/xserver/\fR, +\fB/usr/lib/X11/xserver/\fR, +\fB/usr/share/Xprint/xserver/\fR or +\fB/usr/openwin/server/etc/XpConfig\fR, depending on the +system, and may be configured in \fB/etc/init.d/xprint\fR. +.TP +\fB${LANG}\fR +This environment variable selects the locale settings used by the Xprint server. +Xprt allows language-specific settings (stored in \fB${XPCONFIGDIR}/${LANG}/print/\fR) +which will override the default settings (stored in \fB${XPCONFIGDIR}/C/print/\fR). +If \fB${LANG}\fR is not set "C" is assumed. +.PP +.SH FILES +.TP +\fB${XPCONFIGDIR}/${LANG}/print/Xprinters\fR, \fB${XPCONFIGDIR}/C/print/Xprinters\fR +`Xprinters' is the top most configuration file. It tells +Xprt which specific printer names (e.g. mylaser) should +be supported, and whether \fBlpstat\fR(1) or other commands +should be used to automatically supplement the list of +printers. +.TP +\fB${XPCONFIGDIR}/${LANG}/print/attributes/printer\fR, \fB${XPCONFIGDIR}/C/print/attributes/printer\fR +The `printer' file maps printer names to model +configurations (see `model-config' below). For example, +"mylaser" could be mapped to a "HPDJ1600C", and all other +arbitrary printers could be mapped to a default, such as +"HPLJ4SI". When depending on \fBlpstat\fR(1) in the Xprinters +file, setting up defaults in `printer' becomes all the +more important. +.TP +\fB${XPCONFIGDIR}/${LANG}/print/attributes/document\fR, \fB${XPCONFIGDIR}/C/print/attributes/document\fR +The `document' file specifies the initial document values +for any print jobs. For example, which paper tray to +use, what default resolution, etc. +.TP +\fB${XPCONFIGDIR}/${LANG}/print/attributes/job\fR, \fB${XPCONFIGDIR}/C/print/attributes/job\fR +The `job' file specifies the initial job values for any +print jobs. For example, "notification-profile" can be +set so that when a print job is successfully sent to a +printer, e-mail is sent to the user. +.TP +\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 +The `model-config' file has attributes that describe the +printer model's capabilities and default settings. +Printer model fonts may also be present. The model-config +file also identifies the print ddx driver to be used. +For each printer model supported, a complete hierarchy of +files should exist. In most cases, these files do not +need to be modified. +.TP +\fB${XPCONFIGDIR}/C/print/ddx\-config/raster/pdf\fR, \fB${XPCONFIGDIR}/C/print/ddx\-config/raster/pcl\fR, \fB${XPCONFIGDIR}/C/print/ddx\-config/raster/postscript\fR +The print ddx drivers can have highly specific +configuration files to control their behavior. In most +cases, these files do not need to be modified. +.SH "SEE ALSO" +\fBXprint\fR(__miscmansuffix__), \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__), \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/) +.SH AUTHORS +This manual page was written by +Drew Parsons <dparsons@debian.org> and +Roland Mainz <roland.mainz@nrubsig.org>, +with some help from the man page at +http://www.sins.com.au/unix/manpages/Xprt.html and the XFree86 +man page for \fBXserver\fR(1). diff --git a/Xprint/doc/Xprt.sgml b/Xprint/doc/Xprt.sgml new file mode 100644 index 000000000..0ffa39fcb --- /dev/null +++ b/Xprint/doc/Xprt.sgml @@ -0,0 +1,371 @@ +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.2//EN" 'http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd'> + +<!-- Process this file with docbook-to-man to generate an nroff manual + page: 'docbook-to-man manpage.sgml > manpage.1'. You may view + the manual page with: 'docbook-to-man manpage.sgml | nroff -man | less'. + A typical entry in a Makefile or Makefile.am is: + +manpage.1: manpage.sgml + docbook-to-man $< > $@ + +HTML generation can be done like this: +% xsltproc ==docbook /usr/share/sgml/docbook/docbook-xsl-stylesheets-1.60.1/html/docbook.xsl Xprint.sgml >Xprint.html + --> + +<refentry id="Xprt"> + <refmeta> + <refentrytitle>Xprt</refentrytitle> + <manvolnum>__appmansuffix__</manvolnum> + </refmeta> + <refnamediv> + <refname>Xprt</refname> + + <refpurpose>Print server for X Version 11</refpurpose> + </refnamediv> + <refsynopsisdiv> + <cmdsynopsis> + <command>Xprt</command> + + <arg><option>-ac</option></arg> + + <arg><option>-audit <replaceable>level</replaceable></option></arg> + + <arg><option>-pn</option></arg> + + <arg><option>-fp <replaceable>fontpath</replaceable></option></arg> + + <arg><option>-XpFile <replaceable>file</replaceable></option></arg> + + <arg><option>-XpSpoolerType <replaceable>spoolername</replaceable></option></arg> + + <arg><option>:<replaceable>display</replaceable></option></arg> + + </cmdsynopsis> + </refsynopsisdiv> + <refsect1> + <title>DESCRIPTION</title> + + <para><command>Xprt</command> is the Xprint print server + for version 11 of the X Window system for non display devices + such as printers and fax machines.</para> + + <para>Xprint is an advanced printing system which enables X11 + applications to use devices like printers, FAX or create + documents in formats like PostScript, PCL or PDF. It may be used by + clients such as <application>mozilla</application>. + </para> + + <para>Xprint is a very flexible, extensible, scaleable, client/server + print system based on ISO 10175 (and some other specs) and the X11 + rendering protocol. + Using Xprint an application can search, query and use devices like + printers, FAX machines or create documents in formats like PDF. + In particular, an application can seek a printer, query supported + attributes (like paper size, trays, fonts etc.), configure the printer + device to match it's needs and print on it like on any other X device + reusing parts of the code which is used for the video card Xserver. + </para> + </refsect1> + + <refsect1> + <title>USAGE</title> + + <para> + Although Xprt may be invoked from the command line, it is + preferable to run it as a daemon via the init script + <filename>/etc/init.d/xprint</filename> (where this script exists). + </para> + + <para>Client programs such as mozilla will require environment + variable <envar>${XPSERVERLIST}</envar> to be set, identifying the + "display" on which Xprt is running. This variable may be set + for all users via <filename>/etc/profile</filename> (or similar), using + <userinput>/etc/init.d/xprint get_xpserverlist</userinput>: + <informalexample> + <programlisting>export XPSERVERLIST=`/etc/init.d/xprint get_xpserverlist`</programlisting> + </informalexample> + </para> + </refsect1> + + <refsect1> + <title>OPTIONS</title> + + <para>Many of Xprt's command line options are shared in common + with the usual X servers (see <citerefentry><refentrytitle>Xserver</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry>). + Commonly used options include:</para> + + <variablelist> + <varlistentry> + <term><option>:<replaceable>display</replaceable></option> + </term> + <listitem> + <para> The X server runs on the given display. If multiple X + servers are to run simultaneously on a host, each must + have a unique display number. Note that the standard X + server (for video displays) typically runs on display + :0. If <filename>/etc/init.d/xprint</filename> is used + to invoke Xprt, it may be configured to automatically assign an available + display number.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><option>-ac</option> + </term> + <listitem> + <para>disables host-based access control mechanisms. Enables access + by any host, and permits any host to modify the access control + list. Use with extreme caution. This option exists primarily + for running test suites remotely.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><option>-audit <replaceable>level</replaceable></option> + </term> + <listitem> + <para>sets the audit trail level. The default level is 1, meaning + only connection rejections are reported. Level 2 additionally + reports all successful connections and disconnects. Level 4 + enables messages from the SECURITY extension, if present, + including generation and revocation of authorizations and + violations of the security policy. Level 0 turns off the audit + trail. Audit lines are sent as standard error output.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><option>-fp <replaceable>fontpath</replaceable></option> + </term> + <listitem> + <para>sets the search path for fonts. This path is a comma + separated list of directories which Xprt searches for + font databases.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><option>-pn</option> + </term> + <listitem> + <para>permits the server to continue running if it fails to + establish all of its well-known sockets (connection + points for clients), but establishes at least + one.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-XpFile <replaceable>file</replaceable></option> + </term> + <listitem> + <para>Sets an altername Xprinters file (see section FILES).</para> + </listitem> + </varlistentry> + <varlistentry> + <term><option>-XpSpoolerType <replaceable>spoolername</replaceable></option> + </term> + <listitem> + <para> + Defines the spooler system to be used for print job spooling. + Supported values in xprint.mozdev.org release 009 are: + <simplelist type="vert"> + <member>aix</member> + <member>aix4</member> + <member>bsd</member> + <member>osf</member> + <member>solaris</member> + <member>sysv</member> + <member>uxp</member> + <member>cups</member> + <member>lprng</member> + <member>other</member> + <member>none</member> + </simplelist> + (multiple values can be specified, seperated by ':', the first active spooler will be chosen). + The default value is platform-specific and can be obtained via + <programlisting>Xprt -h</programlisting>. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsect1> + + <refsect1> + <title>ENVIRONMENT</title> + <para> + The following environment variables are recognized by the X print server + (environment variables recognized by Xprint clients are described in + <citerefentry><refentrytitle>Xprint</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry>): + + <variablelist> + <varlistentry> + <term><envar>${XPCONFIGDIR}</envar></term> + <listitem> + <para> This environment variable points to the root + of the Xprint server configuration directory hierarchy. + If the variable is not defined, the default + path is be assumed. The default path may be + <filename>/usr/X11R6/lib/X11/xserver/</filename>, + <filename>/usr/lib/X11/xserver/</filename>, + <filename>/usr/share/Xprint/xserver/</filename> or + <filename>/usr/openwin/server/etc/XpConfig</filename>, depending on the + system, and may be configured in <filename>/etc/init.d/xprint</filename>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><envar>${LANG}</envar></term> + <listitem> + <para> + This environment variable selects the locale settings used by the Xprint server. + Xprt allows language-specific settings (stored in <filename>${XPCONFIGDIR}/${LANG}/print/</filename>) + which will override the default settings (stored in <filename>${XPCONFIGDIR}/C/print/</filename>). + If <envar>${LANG}</envar> is not set "C" is assumed. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1> + <title>FILES</title> + + <variablelist> + <varlistentry> + <term><filename>${XPCONFIGDIR}/${LANG}/print/Xprinters</filename></term> + <term><filename>${XPCONFIGDIR}/C/print/Xprinters</filename></term> + <listitem> + <para> + `Xprinters' is the top most configuration file. It tells + Xprt which specific printer names (e.g. mylaser) should + be supported, and whether <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> or other commands + should be used to automatically supplement the list of + printers. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><filename>${XPCONFIGDIR}/${LANG}/print/attributes/printer</filename></term> + <term><filename>${XPCONFIGDIR}/C/print/attributes/printer</filename></term> + <listitem> + <para> + The `printer' file maps printer names to model + configurations (see `model-config' below). For example, + "mylaser" could be mapped to a "HPDJ1600C", and all other + arbitrary printers could be mapped to a default, such as + "HPLJ4SI". When depending on <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> in the Xprinters + file, setting up defaults in `printer' becomes all the + more important. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><filename>${XPCONFIGDIR}/${LANG}/print/attributes/document</filename></term> + <term><filename>${XPCONFIGDIR}/C/print/attributes/document</filename></term> + <listitem> + <para> + The `document' file specifies the initial document values + for any print jobs. For example, which paper tray to + use, what default resolution, etc. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><filename>${XPCONFIGDIR}/${LANG}/print/attributes/job</filename></term> + <term><filename>${XPCONFIGDIR}/C/print/attributes/job</filename></term> + <listitem> + <para> + The `job' file specifies the initial job values for any + print jobs. For example, "notification-profile" can be + set so that when a print job is successfully sent to a + printer, e-mail is sent to the user. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/model-config</filename></term> + <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir</filename></term> + <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf</filename></term> + <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf</filename></term> + + <listitem> + <para> + The `model-config' file has attributes that describe the + printer model's capabilities and default settings. + Printer model fonts may also be present. The model-config + file also identifies the print ddx driver to be used. + + For each printer model supported, a complete hierarchy of + files should exist. In most cases, these files do not + need to be modified. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pdf</filename></term> + <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pcl</filename></term> + <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/postscript</filename></term> + + <listitem> + <para> + The print ddx drivers can have highly specific + configuration files to control their behavior. In most + cases, these files do not need to be modified. + </para> + </listitem> + </varlistentry> + + </variablelist> + </refsect1> + + <refsect1> + <title>SEE ALSO</title> + <para> + <simplelist type="inline"> + <!-- specific references --> + <!-- none --> + + <!-- Xprint general references --> + <member><citerefentry><refentrytitle>Xprint</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>X11</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>xplsprinters</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>xprehashprinterlist</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>xphelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>xpxmhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>xpawhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>xpxthelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>xpsimplehelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>Xserver</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> +<!-- + <member><citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> +--> + <!-- ToDO: Add manual pages for the single Xprint DDX implementations (PostScript/PDF/PCL/PCL-MONO/Raster/etc.) --> + <member><citerefentry><refentrytitle>libXp</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>libXprintUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>libXprintAppUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>XmPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>XawPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member> + <member>Xprint FAQ (<ulink url="http://xprint.mozdev.org/docs/Xprint_FAQ.html">http://xprint.mozdev.org/docs/Xprint_FAQ.html</ulink>)</member> + <member>Xprint main site (<ulink url="http://xprint.mozdev.org/">http://xprint.mozdev.org/</ulink>)</member> + </simplelist> + </para> + </refsect1> + + <refsect1> + <title>AUTHORS</title> + <para> + This manual page was written by + Drew Parsons <email>dparsons@debian.org</email> and + Roland Mainz <email>roland.mainz@nrubsig.org</email>, + with some help from the man page at + <ulink url="http://www.sins.com.au/unix/manpages/Xprt.html">http://www.sins.com.au/unix/manpages/Xprt.html</ulink> and the XFree86 + man page for <citerefentry><refentrytitle>Xserver</refentrytitle><manvolnum>1</manvolnum></citerefentry>. + </para> + </refsect1> +</refentry> + + + diff --git a/hw/xwin/InitOutput.c b/hw/xwin/InitOutput.c index 78e2bc70d..8ca658ea0 100644 --- a/hw/xwin/InitOutput.c +++ b/hw/xwin/InitOutput.c @@ -435,9 +435,9 @@ winUseMsg (void) "\tSpecify an optional refresh rate to use in fullscreen mode\n" "\twith a DirectDraw engine.\n"); - ErrorF ("-screen scr_num [width height]\n" + ErrorF ("-screen scr_num [width height [x y]]\n" "\tEnable screen scr_num and optionally specify a width and\n" - "\theight for that screen.\n"); + "\theight and initial position for that screen.\n"); ErrorF ("-lesspointer\n" "\tHide the windows mouse pointer when it is over an inactive\n" diff --git a/hw/xwin/win.h b/hw/xwin/win.h index 8fd8d21af..f1d85af3e 100644 --- a/hw/xwin/win.h +++ b/hw/xwin/win.h @@ -395,6 +395,11 @@ typedef struct DWORD dwHeight_mm; DWORD dwPaddedWidth; + /* Did the user specify a screen position? */ + Bool fUserGavePosition; + DWORD dwInitialX; + DWORD dwInitialY; + /* * dwStride is the number of whole pixels that occupy a scanline, * including those pixels that are not displayed. This is basically diff --git a/hw/xwin/wincreatewnd.c b/hw/xwin/wincreatewnd.c index 4c74f89e2..7b3fe21d0 100644 --- a/hw/xwin/wincreatewnd.c +++ b/hw/xwin/wincreatewnd.c @@ -142,6 +142,8 @@ winCreateBoundingWindowWindowed (ScreenPtr pScreen) winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo; int iWidth = pScreenInfo->dwUserWidth; int iHeight = pScreenInfo->dwUserHeight; + int iPosX; + int iPosY; HWND *phwnd = &pScreenPriv->hwndScreen; WNDCLASS wc; RECT rcClient, rcWorkArea; @@ -193,6 +195,18 @@ winCreateBoundingWindowWindowed (ScreenPtr pScreen) /* Adjust for auto-hide taskbars */ winAdjustForAutoHide (&rcWorkArea); + /* Did the user specify a position? */ + if (pScreenInfo->fUserGavePosition) + { + iPosX = pScreenInfo->dwInitialX; + iPosY = pScreenInfo->dwInitialY; + } + else + { + iPosX = rcWorkArea.left; + iPosY = rcWorkArea.top; + } + /* Did the user specify a height and width? */ if (pScreenInfo->fUserGaveHeightAndWidth) { @@ -314,8 +328,8 @@ winCreateBoundingWindowWindowed (ScreenPtr pScreen) WINDOW_CLASS, /* Class name */ szTitle, /* Window name */ dwWindowStyle, - rcWorkArea.left, /* Horizontal position */ - rcWorkArea.top, /* Vertical position */ + iPosX, /* Horizontal position */ + iPosY, /* Vertical position */ iWidth, /* Right edge */ iHeight, /* Bottom edge */ (HWND) NULL, /* No parent or owner window */ diff --git a/hw/xwin/winprocarg.c b/hw/xwin/winprocarg.c index dd61b94b5..1cb995114 100755 --- a/hw/xwin/winprocarg.c +++ b/hw/xwin/winprocarg.c @@ -112,6 +112,7 @@ winInitializeDefaultScreens (void) g_ScreenInfo[i].dwUserHeight = dwHeight; g_ScreenInfo[i].fUserGaveHeightAndWidth = WIN_DEFAULT_USER_GAVE_HEIGHT_AND_WIDTH; + g_ScreenInfo[i].fUserGavePosition = FALSE; g_ScreenInfo[i].dwBPP = WIN_DEFAULT_BPP; g_ScreenInfo[i].dwClipUpdatesNBoxes = WIN_DEFAULT_CLIP_UPDATES_NBOXES; #ifdef XWIN_EMULATEPSEUDO @@ -250,7 +251,7 @@ ddxProcessArgument (int argc, char *argv[], int i) { int iArgsProcessed = 1; int nScreenNum; - int iWidth, iHeight; + int iWidth, iHeight, iX, iY; #if CYGDEBUG winDebug ("ddxProcessArgument - screen - argc: %d i: %d\n", @@ -288,6 +289,16 @@ ddxProcessArgument (int argc, char *argv[], int i) g_ScreenInfo[nScreenNum].dwHeight = iHeight; g_ScreenInfo[nScreenNum].dwUserWidth = iWidth; g_ScreenInfo[nScreenNum].dwUserHeight = iHeight; + /* Look for WxD+X+Y */ + if (2 == sscanf (argv[i + 2], "%*dx%*d+%d+%d", + (int *) &iX, + (int *) &iY)) + { + winErrorFVerb (2, "ddxProcessArgument - screen - Found ``X+Y'' arg\n"); + g_ScreenInfo[nScreenNum].fUserGavePosition = TRUE; + g_ScreenInfo[nScreenNum].dwInitialX = iX; + g_ScreenInfo[nScreenNum].dwInitialY = iY; + } } else if (i + 3 < argc && 1 == sscanf (argv[i + 2], "%d", @@ -302,6 +313,18 @@ ddxProcessArgument (int argc, char *argv[], int i) g_ScreenInfo[nScreenNum].dwHeight = iHeight; g_ScreenInfo[nScreenNum].dwUserWidth = iWidth; g_ScreenInfo[nScreenNum].dwUserHeight = iHeight; + if (i + 5 < argc + && 1 == sscanf (argv[i + 4], "%d", + (int *) &iX) + && 1 == sscanf (argv[i + 5], "%d", + (int *) &iY)) + { + winErrorFVerb (2, "ddxProcessArgument - screen - Found ``X Y'' arg\n"); + iArgsProcessed = 6; + g_ScreenInfo[nScreenNum].fUserGavePosition = TRUE; + g_ScreenInfo[nScreenNum].dwInitialX = iX; + g_ScreenInfo[nScreenNum].dwInitialY = iY; + } } else { |