1249746Sdteske# Copyright (c) 2012-2013 Devin Teske
2252980Sdteske# All rights reserved.
3238438Sdteske#
4238438Sdteske# Redistribution and use in source and binary forms, with or without
5238438Sdteske# modification, are permitted provided that the following conditions
6238438Sdteske# are met:
7238438Sdteske# 1. Redistributions of source code must retain the above copyright
8238438Sdteske#    notice, this list of conditions and the following disclaimer.
9238438Sdteske# 2. Redistributions in binary form must reproduce the above copyright
10238438Sdteske#    notice, this list of conditions and the following disclaimer in the
11238438Sdteske#    documentation and/or other materials provided with the distribution.
12238438Sdteske#
13238438Sdteske# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14252987Sdteske# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15238438Sdteske# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16238438Sdteske# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17238438Sdteske# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18252987Sdteske# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19238438Sdteske# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20238438Sdteske# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21238438Sdteske# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22238438Sdteske# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23238438Sdteske# SUCH DAMAGE.
24238438Sdteske#
25238438Sdteske# $FreeBSD$
26238438Sdteske
27238438SdteskeUsage: bsdconfig @PROGRAM_NAME@ [OPTIONS]
28238438Sdteske
29238438SdteskeOPTIONS:
30249746Sdteske	-h    Print this usage statement and exit.
31238438Sdteske	-c    Don't show command-line shortcut relationships.
32238438Sdteske	-d    Don't show the date in the graph label.
33238438Sdteske	-i    Don't show include relationships.
34238438Sdteske
35238438SdteskeEXAMPLES:
36238438Sdteske	View dot(1) language output describing bsdconfig(8) layout/make-up:
37238438Sdteske
38238438Sdteske		bsdconfig @PROGRAM_NAME@ | less
39238438Sdteske
40238438Sdteske	Render dot(1) output in SVG format (displays in most modern browsers):
41238438Sdteske
42238438Sdteske		bsdconfig @PROGRAM_NAME@ | dot -Tsvg -o bsdconfig.svg
43238438Sdteske
44238438Sdteske		NOTE: Requires `graphics/graphviz' from ports/packages.
45238438Sdteske
46238438Sdteske	View the above-rendered SVG file using your favorite X11-based viewer:
47238438Sdteske
48238438Sdteske		gimmage bsdconfig.svg
49238438Sdteske
50238438Sdteske			NOTE: Requires `graphics/gimmage' from ports/packages.
51238438Sdteske
52238438Sdteske		or
53238438Sdteske
54238438Sdteske		gthumb bsdconfig.svg
55238438Sdteske
56238438Sdteske			NOTE: Image is scaled to fit window on launch.
57238438Sdteske			NOTE: Requires `graphics/gthumb' from ports/packages.
58238438Sdteske
59238438Sdteske		or
60238438Sdteske
61238438Sdteske		gqview bsdconfig.svg
62238438Sdteske
63238438Sdteske			NOTE: Requires `graphics/gqview' from ports/packages.
64238438Sdteske
65238438Sdteske		or
66238438Sdteske
67238438Sdteske		gx bsdconfig.svg
68238438Sdteske
69238438Sdteske			NOTE: Image is scaled to fit window on launch.
70238438Sdteske			NOTE: Requires `graphics/gx' from ports/packages.
71238438Sdteske
72238438Sdteske		or
73238438Sdteske
74238438Sdteske		eog bsdconfig.svg
75238438Sdteske
76238438Sdteske			NOTE: Requires `graphics/eog' from ports/packages.
77238438Sdteske
78238438Sdteske	Render dot(1) output as PostScript print output consisting of multiple
79238438Sdteske	US-Letter sized pages that can be assembled into a large poster (using
80238438Sdteske	traditional tools such as scissors and tape):
81238438Sdteske
82238438Sdteske		bsdconfig @PROGRAM_NAME@ | dot -Teps -o bsdconfig.eps
83238438Sdteske		poster -v -mLet -s1 -o bsdconfig.ps bsdconfig.eps
84238438Sdteske
85238438Sdteske		NOTE: Change "-s1" above to "-s0.5" to halve the size of the
86238438Sdteske		      poster or "-s2", for example, to double the poster size.
87238438Sdteske
88238438Sdteske		NOTE: Requires both `graphics/graphviz' and `print/poster' from
89238438Sdteske		      ports/packages.
90238438Sdteske
91238438Sdteske	Render dot(1) output as PostScript scaled to fit on a poster consisting
92238438Sdteske	of 2x-wide and 4x-tall US-Letter sized pages:
93238438Sdteske
94238438Sdteske		bsdconfig @PROGRAM_NAME@ | dot -Teps -o bsdconfig.eps
95238438Sdteske		poster -v -mLet -p2x4Letter -o bsdconfig.ps bsdconfig.eps
96238438Sdteske
97238438Sdteske		NOTE: Requires both `graphics/graphviz' and `print/poster' from
98238438Sdteske		      ports/packages.
99238438Sdteske
100238438Sdteske	View the above-rendered PostScript poster using X11:
101238438Sdteske
102238438Sdteske		gsview bsdconfig.ps
103238438Sdteske
104238438Sdteske			NOTE: Requires `print/gsview' from ports/packages.
105238438Sdteske
106238438Sdteske		or
107238438Sdteske
108238438Sdteske		convert bsdconfig.ps bsdconfig.pdf
109238438Sdteske		xpdf bsdconfig.pdf
110238438Sdteske
111238438Sdteske			NOTE: Requires both `graphics/ImageMagick' and
112238438Sdteske			      `graphics/xdpf' from ports/packages.
113238438Sdteske
114238438Sdteske			NOTE: The converted PDF file is not suitable for
115238438Sdteske			      printing due to loss of quality during the
116238438Sdteske			      conversion process.
117238438Sdteske
118238438Sdteske	Print the above-rendered PostScript poster:
119238438Sdteske
120238438Sdteske		lpr -h bsdconfig.ps
121238438Sdteske
122238438Sdteske		NOTE: Requires configuration of a printer in `/etc/printcap'.
123238438Sdteske
124238438Sdteske	Extract each page of the poster into a separate PNG file:
125238438Sdteske
126238438Sdteske		gs -q -dNOPAUSE -dBATCH -sPAPERSIZE=letter \
127238438Sdteske		   -dTextAlphaBits=4 -dGraphicsAlphaBits=4 \
128238438Sdteske		   -sDEVICE=png16m -sOutputFile=bsdconfig%03d.png \
129238438Sdteske		   bsdconfig.ps
130238438Sdteske
131238438Sdteske		NOTE: Requires `print/ghostscript9' from ports/packages.
132238438Sdteske
133238438Sdteske		NOTE: The converted PNG files are not suitable for printing
134238438Sdteske		      due to loss of quality during the conversion process.
135238438Sdteske
136238438Sdteske	Extract a single page of the poster into a separate PostScript file for
137238438Sdteske	printing individual pages from the command-line:
138238438Sdteske
139238438Sdteske		psselect 1 bsdconfig.ps bsdconfig-page1.ps
140238438Sdteske		lpr -h bsdconfig-page1.ps
141238438Sdteske
142238438Sdteske		NOTE: Change "1" to "2" for the second page, ad-infinitum.
143238438Sdteske		NOTE: Requires `print/psutils-letter' from ports/packages.
144