1285SN/A# Copyright (c) 2012-2013 Devin Teske
2461SN/A# All rights reserved.
3285SN/A#
4285SN/A# Redistribution and use in source and binary forms, with or without
5285SN/A# modification, are permitted provided that the following conditions
6285SN/A# are met:
7285SN/A# 1. Redistributions of source code must retain the above copyright
8285SN/A#    notice, this list of conditions and the following disclaimer.
9285SN/A# 2. Redistributions in binary form must reproduce the above copyright
10285SN/A#    notice, this list of conditions and the following disclaimer in the
11285SN/A#    documentation and/or other materials provided with the distribution.
12285SN/A#
13285SN/A# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14285SN/A# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15285SN/A# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16285SN/A# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17285SN/A# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18285SN/A# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19285SN/A# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20285SN/A# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21285SN/A# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22285SN/A# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23285SN/A# SUCH DAMAGE.
24285SN/A#
25285SN/A
26285SN/AUsage: bsdconfig @PROGRAM_NAME@ [OPTIONS]
27285SN/A
28285SN/AOPTIONS:
29285SN/A	-h    Print this usage statement and exit.
30285SN/A	-c    Don't show command-line shortcut relationships.
31285SN/A	-d    Don't show the date in the graph label.
32285SN/A	-i    Don't show include relationships.
33285SN/A
34285SN/AEXAMPLES:
35285SN/A	View dot(1) language output describing bsdconfig(8) layout/make-up:
36285SN/A
37285SN/A		bsdconfig @PROGRAM_NAME@ | less
38285SN/A
39285SN/A	Render dot(1) output in SVG format (displays in most modern browsers):
40285SN/A
41285SN/A		bsdconfig @PROGRAM_NAME@ | dot -Tsvg -o bsdconfig.svg
42285SN/A
43285SN/A		NOTE: Requires `graphics/graphviz' from ports/packages.
44285SN/A
45285SN/A	View the above-rendered SVG file using your favorite X11-based viewer:
46285SN/A
47285SN/A		gimmage bsdconfig.svg
48285SN/A
49285SN/A			NOTE: Requires `graphics/gimmage' from ports/packages.
50285SN/A
51285SN/A		or
52285SN/A
53285SN/A		gthumb bsdconfig.svg
54285SN/A
55285SN/A			NOTE: Image is scaled to fit window on launch.
56285SN/A			NOTE: Requires `graphics/gthumb' from ports/packages.
57285SN/A
58285SN/A		or
59285SN/A
60285SN/A		gqview bsdconfig.svg
61285SN/A
62285SN/A			NOTE: Requires `graphics/gqview' from ports/packages.
63285SN/A
64285SN/A		or
65285SN/A
66285SN/A		gx bsdconfig.svg
67285SN/A
68285SN/A			NOTE: Image is scaled to fit window on launch.
69285SN/A			NOTE: Requires `graphics/gx' from ports/packages.
70285SN/A
71285SN/A		or
72285SN/A
73285SN/A		eog bsdconfig.svg
74285SN/A
75285SN/A			NOTE: Requires `graphics/eog' from ports/packages.
76285SN/A
77285SN/A	Render dot(1) output as PostScript print output consisting of multiple
78285SN/A	US-Letter sized pages that can be assembled into a large poster (using
79285SN/A	traditional tools such as scissors and tape):
80285SN/A
81285SN/A		bsdconfig @PROGRAM_NAME@ | dot -Teps -o bsdconfig.eps
82285SN/A		poster -v -mLet -s1 -o bsdconfig.ps bsdconfig.eps
83285SN/A
84285SN/A		NOTE: Change "-s1" above to "-s0.5" to halve the size of the
85285SN/A		      poster or "-s2", for example, to double the poster size.
86285SN/A
87285SN/A		NOTE: Requires both `graphics/graphviz' and `print/poster' from
88285SN/A		      ports/packages.
89285SN/A
90285SN/A	Render dot(1) output as PostScript scaled to fit on a poster consisting
91285SN/A	of 2x-wide and 4x-tall US-Letter sized pages:
92285SN/A
93285SN/A		bsdconfig @PROGRAM_NAME@ | dot -Teps -o bsdconfig.eps
94285SN/A		poster -v -mLet -p2x4Letter -o bsdconfig.ps bsdconfig.eps
95285SN/A
96285SN/A		NOTE: Requires both `graphics/graphviz' and `print/poster' from
97285SN/A		      ports/packages.
98285SN/A
99285SN/A	View the above-rendered PostScript poster using X11:
100285SN/A
101285SN/A		gsview bsdconfig.ps
102285SN/A
103285SN/A			NOTE: Requires `print/gsview' from ports/packages.
104285SN/A
105285SN/A		or
106285SN/A
107285SN/A		convert bsdconfig.ps bsdconfig.pdf
108285SN/A		xpdf bsdconfig.pdf
109285SN/A
110285SN/A			NOTE: Requires both `graphics/ImageMagick' and
111285SN/A			      `graphics/xdpf' from ports/packages.
112285SN/A
113285SN/A			NOTE: The converted PDF file is not suitable for
114285SN/A			      printing due to loss of quality during the
115285SN/A			      conversion process.
116285SN/A
117285SN/A	Print the above-rendered PostScript poster:
118285SN/A
119285SN/A		lpr -h bsdconfig.ps
120285SN/A
121285SN/A		NOTE: Requires configuration of a printer in `/etc/printcap'.
122285SN/A
123285SN/A	Extract each page of the poster into a separate PNG file:
124285SN/A
125285SN/A		gs -q -dNOPAUSE -dBATCH -sPAPERSIZE=letter \
126285SN/A		   -dTextAlphaBits=4 -dGraphicsAlphaBits=4 \
127285SN/A		   -sDEVICE=png16m -sOutputFile=bsdconfig%03d.png \
128285SN/A		   bsdconfig.ps
129285SN/A
130285SN/A		NOTE: Requires `print/ghostscript9' from ports/packages.
131285SN/A
132285SN/A		NOTE: The converted PNG files are not suitable for printing
133285SN/A		      due to loss of quality during the conversion process.
134285SN/A
135285SN/A	Extract a single page of the poster into a separate PostScript file for
136285SN/A	printing individual pages from the command-line:
137285SN/A
138285SN/A		psselect 1 bsdconfig.ps bsdconfig-page1.ps
139285SN/A		lpr -h bsdconfig-page1.ps
140285SN/A
141285SN/A		NOTE: Change "1" to "2" for the second page, ad-infinitum.
142285SN/A		NOTE: Requires `print/psutils-letter' from ports/packages.
143285SN/A