1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
3 NAMEBASE= xorg-xorgproto
7 SDESC[standard]= Combined X.Org X11 Protocol headers
8 HOMEPAGE= https://www.x.org/
12 SITES[main]= XORG/individual/proto
13 DISTFILE[1]= xorgproto-2020.1.tar.bz2:main
16 SPKGS[standard]= single
18 OPTIONS_AVAILABLE= none
19 OPTIONS_STANDARD= none
21 DISTNAME= xorgproto-2020.1
24 LICENSE_FILE= MIT:{{WRKDIR}}/LICENSE_MIT
27 FPC_EQUIVALENT= x11/xorgproto
30 CONFIGURE_ARGS= --datarootdir={{PREFIX}}/lib
32 CONFIGURE_ENV= MISC_MAN_SUFFIX=7
36 ${HEAD} -n 300 COPYING-* > ${WRKDIR}/LICENSE_MIT)
39 ${RM} -r ${STAGEDIR}${PREFIX}/lib/doc
41 [FILE:100:descriptions/desc.single]
42 This package combines the X protocol headers, which were formerly
43 scattered in individual packages.
47 54a153f139035a376c075845dd058049177212da94d7a9707cf9468367b699d2 848072 xorg/xorgproto-2020.1.tar.bz2
50 [FILE:2677:manifests/plist.single]
56 include/GL/internal/glcore.h
91 include/X11/extensions/
251 share/man/man7/Xprint.7.gz
254 [FILE:16636:patches/patch-man_Xprint.man]
255 --- man/Xprint.man.orig 2019-10-17 16:02:34 UTC
257 @@ -419,3 +419,424 @@ will examine the values of the \fB${PDPR
258 This manual page was written by
259 Roland Mainz <roland.mainz@nrubsig.org> based on the original X11R6.6
260 \fBxc/programs/Xserver/XpConfig/README\fR.
261 +.\" -*- coding: us-ascii -*-
262 +.TH Xprint __miscmansuffix__ "8 October 2004"
264 +Xprint \- The "X print service" - a portable, network-transparent printing system based on the X11 protocol
266 +Xprint is a very flexible, extensible, scaleable, client/server
267 +print system based on ISO 10175 (and some other specs) and the X11
269 +Using Xprint an application can search, query and use devices like
270 +printers, FAX machines or create documents in formats like PDF.
271 +In particular, an application can seek a printer, query supported
272 +attributes (like paper size, trays, fonts etc.), configure the printer
273 +device to match it\(cqs needs and print on it like on any other X device
274 +reusing parts of the code which is used for the video card Xserver.
276 +The "X Print Service" technology allows X rendering to devices such as
277 +printers and fax. Most of the service is available in the X11
278 +technology stack as Xp, with the remainder in single toolkit stacks (e.g. DtPrint for CDE).
279 +Modifications have also been made to the LessTif/Motif/Qt technology
280 +stacks to support Xprint.
282 +The Xp portion consists of:
285 +Xp Extension for the X-Server (included in the X-Server Xprt)
288 +Xp Extension API for the client side (libXp/libXprintUtils)
291 +PCL ddx driver that converts core X to native PCL
294 +PDF ddx driver that converts core X to native PDF
297 +PostScript ddx driver that converts core X to native PostScript
300 +Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters
303 +From an X clients perspective, it can attach to one of two nearly
304 +identical X-Servers, a "Video" X-Server, and a "Print" X-Server
305 +which has the additional Xp capability but otherwise looks and
307 +.SH "HOW THE X PRINT SERVICE WORKS"
308 +The X Print Service expands on the traditional X-Server and Xlib world
312 +Most obvious is the use of "print ddx drivers" instead of
313 +"video ddx drivers". While a video ddx driver modifies pixels
314 +in a video frame buffer, a print ddx driver generates "page
315 +description language (PDL)" output (such as PCL, PDF or PostScript)
316 +or sends the print rendering instructions to a platform-specific
317 +print API (like Win32/GDI).
319 +Once a print ddx driver generates PDL output, it can be sent to
320 +a spooler such as \fBlp\fR(1)
321 +or retrieved by the client (to implement functionality like "print-to-file").
323 +Though not currently done, a single X-Server can support both
324 +print and video ddx drivers.
327 +Since printers support "paged" output, unlike video, a portion
328 +of the Xp Extension supports APIs to delineate printed output.
329 +For example, XpStartPage and XpEndPage tell the X-Server where
330 +a physical page starts and ends in an otherwise continuous
331 +stream of X rendering primitives. Likewise, XpStartJob and
332 +XpEndJob determine when a collection of pages starts and ends.
333 +XpEndJob typically causes the generated PDL to be submitted to
334 +a spooler, such as \fBlp\fR(1).
337 +Since printers have extensive capabilities, another portion of
338 +the Xp Extension supports APIs to manipulate "print contexts".
340 +Once a printer is selected using the Xp Extension API, a print
341 +context to represent it can be created. A print context
342 +embodies the printer selected - it contains the printer's
343 +default capabilities, selectable range of capabilities,
344 +printer state, and generated output. Some "attributes" within
345 +the print context can be modified by the user, and the
346 +X-Server and print ddx driver will react accordingly. For
347 +example, the attribute "content-orientation" can be set to
348 +"landscape" or "portrait" (if the printer supports these
349 +values - which can be queried using the Xprint API as well).
352 +Since printers can have "built in" fonts, the Xp Extension in
353 +the X-Server works with the print ddx drivers to make
354 +available (for printing only) additional fonts on a per print
357 +When a print context is created and set for a given printer,
358 +the X font calls may be able to access additional printer
359 +fonts. To do this (typically), the X-Server must have access
360 +to "printer metric files" (.pmf) that describe at minimum the
361 +metrics of the built in fonts.
364 +There are three tasks to start the X Print Service:
367 +configuring the X Print Server,
370 +starting the X Print Service
373 +configuring the user session so that clients can find the running X Print Service
376 +The tasks are described in detail below.
377 +.SH "SERVER CONFIGURATION"
378 +The X Print Server (Xprt) can read a number of configuration files which
379 +control its behavior and support for printers. Each vendor platform has
380 +a default location for this information. Xprt can also read the
381 +environment variable \fBXPCONFIGDIR\fR to locate alternate configuration
382 +directories. Common settings include:
384 +export XPCONFIGDIR=/X11/lib/X11/XpConfig/
386 +export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/
389 +Xprt has many built-in defaults, and lacking any configuration files,
390 +will immediately try to support all printers visible via \fBlpstat\fR(1).
392 +In order of importance for configuration by a system administrator, the
393 +configuration files for a "C" locale are as follows (see \fBXprt\fR(__appmansuffix__) for more
394 +details (including support for non-"C" locales)):
396 +\fB${XPCONFIGDIR}/C/print/Xprinters\fR
397 +\&'Xprinters' is the top most configuration file. It tells
398 +Xprt which specific printer names (e.g. mylaser) should
399 +be supported, and whether \fBlpstat\fR(1) or other commands
400 +should be used to automatically supplement the list of
403 +\fB${XPCONFIGDIR}/C/print/attributes/printer\fR
404 +The 'printer' file maps printer names to model
405 +configurations (see 'model-config' below). For example,
406 +"mylaser" could be mapped to a "HPDJ1600C", and all other
407 +arbitrary printers could be mapped to a default, such as
408 +"HPLJ4SI". When depending on \fBlpstat\fR(1) in the Xprinters
409 +file, setting up defaults in 'printer' becomes all the
412 +\fB${XPCONFIGDIR}/C/print/attributes/document\fR
413 +The 'document' file specifies the initial document values
414 +for any print jobs. For example, which paper tray to
415 +use, what default resolution, etc.
417 +\fB${XPCONFIGDIR}/C/print/attributes/job\fR
418 +The 'job' file specifies the initial job values for any
419 +print jobs. For example, "notification-profile" can be
420 +set so that when a print job is successfully sent to a
421 +printer, e-mail is sent to the user.
423 +\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
424 +The 'model-config' file has attributes that describe the
425 +printer model\(cqs capabilities and default settings.
426 +Printer model fonts may also be present. The model-config
427 +file also identifies the print ddx driver to be used.
428 +For each printer model supported, a complete hierarchy of
429 +files should exist. In most cases, these files do not
430 +need to be modified.
432 +\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
433 +The print ddx drivers can have highly specific
434 +configuration files to control their behavior. In most
435 +cases, these files do not need to be modified.
437 +More information in how to configure and customize the X print server can be found in the
438 +\fBXprt\fR(__appmansuffix__)
441 +The summary checklist for starting the X Print Service is as follows:
444 +Choose an execution model for the X Print Service. The X
445 +Print Service can be run on a per-user session basis, per
446 +machine basis, or can be run on a few machines globally
447 +available to a number of users.
450 +If print jobs are to be submitted to a spooler (almost always
451 +the case), make sure all needed printers are available to the
452 +spooler subsystem (most often \fBlp\fR(1))
453 +on the same machine running the X Print Service.
456 +Configure the X Print Server. See ``X Print Server
460 +Depending on #1, start the X Print Server process "Xprt", and
461 +then the toolkit-specific Print Dialog Manager Daemon process
462 +(such as CDEnext's "dtpdmd") at the appropriate times.
463 +Note that libXprintUtils-based applications/toolkits do not need
464 +a Print Dialog Manager Daemon process to use Xprint.
466 +The details are described below.
468 +Because the X Print Service is based on X, it can be easily distributed.
469 +The most significant factors in which execution model to choose will be
473 +how many printers will be accessable through the printer
474 +subsystem on any given machine. A system administrator may
475 +choose to cluster printers on a few given machines, or
476 +scatter them across an organization and possibly make
477 +extensive use of remote spoolers to make them globally
481 +how many machines will need a copy of the X Print Server
482 +configuration files. The files have been architected so
483 +that one super-set version of them can be maintained and
484 +distributed (e.g. via NFS), and a per-machine or per-user
485 +version of the `Xprinters' is all that is needed to have the
486 +appropriate information in them utilized or ignored.
489 +how many users can demand services from a given X Print
492 +With the above in mind, some obvious execution models include:
495 +Global - in this model, the system administrator is choosing
496 +to run the X Print Service on a *few* select machines with
497 +appropriate printers configured, and allow clients access to
498 +the global resource. This can centralize the administration
499 +of printers and configuration files, but may have to be
500 +monitored for performance loading.
502 +Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR).
505 +Per-machine - every machine with potential X Print Service
506 +users would run the service. Printer and configuration file
507 +administration is decentralized, and usage would be limited
508 +to the users on the machine.
510 +Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR).
513 +Per-user session - every user would run an entire X Print
514 +Service for themselves. In the future, the Video X Server
515 +normally started may contain Print X Server capability, so
516 +this model becomes very natural.
518 +Startup would likely be done at session login or by
519 +launching actions or processes manually once the user
520 +logs in. Note: Deamons like "dtpdmd" must be started after Xprt.
523 +Starting of the processes is straight forward. In strict order (example is for manually starting the X print server for CDEnext usage):
528 +[machineA] % Xprt [\-XpFile <Xprinters file>] [:dispNum] &
532 +Note that Xprt will look for configuration files in either
533 +a default location or where \fBXPCONFIGDIR\fR points.
535 +\fB\-XpFile\fR specifies an alternate `Xprinters' file, rather
536 +than the default one or `\fB${XPCONFIGDIR}/C/print/Xprinters\fR'.
541 +[machineA] % dtpdmd \-d machineA[:dispNum] [\-l /tmp/dtpdmd.log] &
545 +The dtpdmd will maintain an X-Selection on the X-Server,
546 +and will start dtpdm's as required to service requests.
549 +In all but the per-user session model, the machine running the dtpdmd
550 +(thus dtpdm's) will need display authorization to the users video
552 +.SH "CLIENT CONFIGURATION"
553 +Once a X Print Server and dtpdmd have been started -- many of them
554 +in some cases -- clients will need to find and use them. There are
555 +two mechanisms that allow clients to discover X Print Servers and
559 +"X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print
560 +applications, the following notation is understood:
564 +printer_name@machine[:dispNum]
576 +In the above example, the X Print Server running at `printhub:2'
577 +is assumed to support the printer named `colorlj7'.
580 +\fB${XPSERVERLIST}\fR - assuming usage of the DtPrint print dialogs,
581 +the environment variable \fB${XPSERVERLIST}\fR can contain a list
582 +of X Print Servers. For example:
586 +XPSERVERLIST="printhub:2 printhub:3 otherdept:0"
590 +Then in the dialogs, only a printer name needs to be entered.
591 +The dialog will then search the X Print Servers in \fB${XPSERVERLIST}\fR
592 +for a server than supports the printer, and then establish
595 +.SH "END-USER SEQUENCE"
596 +From most CDEnext applications, printing is accomplished by bringing
597 +down the <File> menu and selecting <Print...>. This will result in
598 +the DtPrintSetupBox dialog, which will request the name of a printer,
599 +and offer limited capability to configure print options (e.g. number
600 +of copies). If the user wishes, they can select <Setup...>, which
601 +will start a dtpdm capable of modifying additional print options.
602 +Finally, the user should select <Print>.
605 +\fB${XPCONFIGDIR}\fR
606 +This environment variable points to the root
607 +of the Xprint server configuration directory hierarchy.
608 +If the variable is not defined, the default
609 +path is be assumed. The default path may be
610 +\fB/usr/X11R6/lib/X11/xserver/\fR,
611 +\fB/usr/lib/X11/xserver/\fR,
612 +\fB/usr/share/Xprint/xserver/\fR or
613 +\fB/usr/openwin/server/etc/XpConfig\fR, depending on the
614 +system, and may be configured in \fB/etc/init.d/xprint\fR.
617 +This environment variable selects the locale settings used by the Xprint server.
618 +Xprt allows language-specific settings (stored in \fB${XPCONFIGDIR}/${LANG}/print/\fR)
619 +which will override the default settings (stored in \fB${XPCONFIGDIR}/C/print/\fR).
620 +If \fB${LANG}\fR is not set "C" is assumed.
622 +\fB${XPSERVERLIST}\fR
623 +The environment variable \fB${XPSERVERLIST}\fR contains a list
624 +of display identifiers (separated by whitespace) which tell an
625 +application where it can find the Xprint servers. Usually
626 +\fB${XPSERVERLIST}\fR is set by the profile startup scripts (e.g.
627 +\fB/etc/profile\fR or \fB/etc/profile.d/xprint.sh\fR) using the output of
628 +\fB/etc/init.d/xprint get_xpserverlist\fR.
634 + export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"
638 +Alternatively \fB${XPSERVERLIST}\fR can be set
643 + export XPSERVERLIST="littlecat:80 bitdog:72"
646 +instructs an application to find an Xprint server at display
647 +80 on the machine "littlecat" and at display 72 on the
651 +The environment variable \fB${XPRINTER}\fR
652 +defines the default printer used by print
653 +applications. The syntax is either
654 +\fIprintername\fR or
655 +\fIprintername\fR@\fIdisplay\fR.
660 +\fBXPRINTER=ps003\fR
661 +tells an application to look for the
662 +first printer named "ps003" on all Xprint
665 +\fBXPRINTER=hplaser19@littlecat:80\fR
666 +tells an application to use the printer "hplaser19"
667 +on the Xprint server at display
672 +If \fB${XPRINTER}\fR is not set the applications
673 +will examine the values of the \fB${PDPRINTER}\fR,
674 +\fB${LPDEST}\fR, and
675 +\fB${PRINTER}\fR environment variables (in that order).
677 +\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/)
679 +This manual page was written by
680 +Roland Mainz <roland.mainz@nrubsig.org> based on the original X11R6.6
681 +\fBxc/programs/Xserver/XpConfig/README\fR.