1e14ddd1fSDevin Teske# Copyright (c) 2012-2013 Devin Teske 2f8ea072aSDevin Teske# All rights reserved. 3641a6cfbSDevin Teske# 4641a6cfbSDevin Teske# Redistribution and use in source and binary forms, with or without 5641a6cfbSDevin Teske# modification, are permitted provided that the following conditions 6641a6cfbSDevin Teske# are met: 7641a6cfbSDevin Teske# 1. Redistributions of source code must retain the above copyright 8641a6cfbSDevin Teske# notice, this list of conditions and the following disclaimer. 9641a6cfbSDevin Teske# 2. Redistributions in binary form must reproduce the above copyright 10641a6cfbSDevin Teske# notice, this list of conditions and the following disclaimer in the 11641a6cfbSDevin Teske# documentation and/or other materials provided with the distribution. 12641a6cfbSDevin Teske# 13641a6cfbSDevin Teske# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 148e37a7c8SDevin Teske# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15641a6cfbSDevin Teske# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16641a6cfbSDevin Teske# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17641a6cfbSDevin Teske# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 188e37a7c8SDevin Teske# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19641a6cfbSDevin Teske# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20641a6cfbSDevin Teske# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21641a6cfbSDevin Teske# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22641a6cfbSDevin Teske# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23641a6cfbSDevin Teske# SUCH DAMAGE. 24641a6cfbSDevin Teske# 25641a6cfbSDevin Teske 26641a6cfbSDevin TeskeUsage: bsdconfig @PROGRAM_NAME@ [OPTIONS] 27641a6cfbSDevin Teske 28641a6cfbSDevin TeskeOPTIONS: 29e14ddd1fSDevin Teske -h Print this usage statement and exit. 30641a6cfbSDevin Teske -c Don't show command-line shortcut relationships. 31641a6cfbSDevin Teske -d Don't show the date in the graph label. 32641a6cfbSDevin Teske -i Don't show include relationships. 33641a6cfbSDevin Teske 34641a6cfbSDevin TeskeEXAMPLES: 35641a6cfbSDevin Teske View dot(1) language output describing bsdconfig(8) layout/make-up: 36641a6cfbSDevin Teske 37641a6cfbSDevin Teske bsdconfig @PROGRAM_NAME@ | less 38641a6cfbSDevin Teske 39641a6cfbSDevin Teske Render dot(1) output in SVG format (displays in most modern browsers): 40641a6cfbSDevin Teske 41641a6cfbSDevin Teske bsdconfig @PROGRAM_NAME@ | dot -Tsvg -o bsdconfig.svg 42641a6cfbSDevin Teske 43641a6cfbSDevin Teske NOTE: Requires `graphics/graphviz' from ports/packages. 44641a6cfbSDevin Teske 45641a6cfbSDevin Teske View the above-rendered SVG file using your favorite X11-based viewer: 46641a6cfbSDevin Teske 47641a6cfbSDevin Teske gimmage bsdconfig.svg 48641a6cfbSDevin Teske 49641a6cfbSDevin Teske NOTE: Requires `graphics/gimmage' from ports/packages. 50641a6cfbSDevin Teske 51641a6cfbSDevin Teske or 52641a6cfbSDevin Teske 53641a6cfbSDevin Teske gthumb bsdconfig.svg 54641a6cfbSDevin Teske 55641a6cfbSDevin Teske NOTE: Image is scaled to fit window on launch. 56641a6cfbSDevin Teske NOTE: Requires `graphics/gthumb' from ports/packages. 57641a6cfbSDevin Teske 58641a6cfbSDevin Teske or 59641a6cfbSDevin Teske 60641a6cfbSDevin Teske gqview bsdconfig.svg 61641a6cfbSDevin Teske 62641a6cfbSDevin Teske NOTE: Requires `graphics/gqview' from ports/packages. 63641a6cfbSDevin Teske 64641a6cfbSDevin Teske or 65641a6cfbSDevin Teske 66641a6cfbSDevin Teske gx bsdconfig.svg 67641a6cfbSDevin Teske 68641a6cfbSDevin Teske NOTE: Image is scaled to fit window on launch. 69641a6cfbSDevin Teske NOTE: Requires `graphics/gx' from ports/packages. 70641a6cfbSDevin Teske 71641a6cfbSDevin Teske or 72641a6cfbSDevin Teske 73641a6cfbSDevin Teske eog bsdconfig.svg 74641a6cfbSDevin Teske 75641a6cfbSDevin Teske NOTE: Requires `graphics/eog' from ports/packages. 76641a6cfbSDevin Teske 77641a6cfbSDevin Teske Render dot(1) output as PostScript print output consisting of multiple 78641a6cfbSDevin Teske US-Letter sized pages that can be assembled into a large poster (using 79641a6cfbSDevin Teske traditional tools such as scissors and tape): 80641a6cfbSDevin Teske 81641a6cfbSDevin Teske bsdconfig @PROGRAM_NAME@ | dot -Teps -o bsdconfig.eps 82641a6cfbSDevin Teske poster -v -mLet -s1 -o bsdconfig.ps bsdconfig.eps 83641a6cfbSDevin Teske 84641a6cfbSDevin Teske NOTE: Change "-s1" above to "-s0.5" to halve the size of the 85641a6cfbSDevin Teske poster or "-s2", for example, to double the poster size. 86641a6cfbSDevin Teske 87641a6cfbSDevin Teske NOTE: Requires both `graphics/graphviz' and `print/poster' from 88641a6cfbSDevin Teske ports/packages. 89641a6cfbSDevin Teske 90641a6cfbSDevin Teske Render dot(1) output as PostScript scaled to fit on a poster consisting 91641a6cfbSDevin Teske of 2x-wide and 4x-tall US-Letter sized pages: 92641a6cfbSDevin Teske 93641a6cfbSDevin Teske bsdconfig @PROGRAM_NAME@ | dot -Teps -o bsdconfig.eps 94641a6cfbSDevin Teske poster -v -mLet -p2x4Letter -o bsdconfig.ps bsdconfig.eps 95641a6cfbSDevin Teske 96641a6cfbSDevin Teske NOTE: Requires both `graphics/graphviz' and `print/poster' from 97641a6cfbSDevin Teske ports/packages. 98641a6cfbSDevin Teske 99641a6cfbSDevin Teske View the above-rendered PostScript poster using X11: 100641a6cfbSDevin Teske 101641a6cfbSDevin Teske gsview bsdconfig.ps 102641a6cfbSDevin Teske 103641a6cfbSDevin Teske NOTE: Requires `print/gsview' from ports/packages. 104641a6cfbSDevin Teske 105641a6cfbSDevin Teske or 106641a6cfbSDevin Teske 107641a6cfbSDevin Teske convert bsdconfig.ps bsdconfig.pdf 108641a6cfbSDevin Teske xpdf bsdconfig.pdf 109641a6cfbSDevin Teske 110641a6cfbSDevin Teske NOTE: Requires both `graphics/ImageMagick' and 111641a6cfbSDevin Teske `graphics/xdpf' from ports/packages. 112641a6cfbSDevin Teske 113641a6cfbSDevin Teske NOTE: The converted PDF file is not suitable for 114641a6cfbSDevin Teske printing due to loss of quality during the 115641a6cfbSDevin Teske conversion process. 116641a6cfbSDevin Teske 117641a6cfbSDevin Teske Print the above-rendered PostScript poster: 118641a6cfbSDevin Teske 119641a6cfbSDevin Teske lpr -h bsdconfig.ps 120641a6cfbSDevin Teske 121641a6cfbSDevin Teske NOTE: Requires configuration of a printer in `/etc/printcap'. 122641a6cfbSDevin Teske 123641a6cfbSDevin Teske Extract each page of the poster into a separate PNG file: 124641a6cfbSDevin Teske 125641a6cfbSDevin Teske gs -q -dNOPAUSE -dBATCH -sPAPERSIZE=letter \ 126641a6cfbSDevin Teske -dTextAlphaBits=4 -dGraphicsAlphaBits=4 \ 127641a6cfbSDevin Teske -sDEVICE=png16m -sOutputFile=bsdconfig%03d.png \ 128641a6cfbSDevin Teske bsdconfig.ps 129641a6cfbSDevin Teske 130641a6cfbSDevin Teske NOTE: Requires `print/ghostscript9' from ports/packages. 131641a6cfbSDevin Teske 132641a6cfbSDevin Teske NOTE: The converted PNG files are not suitable for printing 133641a6cfbSDevin Teske due to loss of quality during the conversion process. 134641a6cfbSDevin Teske 135641a6cfbSDevin Teske Extract a single page of the poster into a separate PostScript file for 136641a6cfbSDevin Teske printing individual pages from the command-line: 137641a6cfbSDevin Teske 138641a6cfbSDevin Teske psselect 1 bsdconfig.ps bsdconfig-page1.ps 139641a6cfbSDevin Teske lpr -h bsdconfig-page1.ps 140641a6cfbSDevin Teske 141641a6cfbSDevin Teske NOTE: Change "1" to "2" for the second page, ad-infinitum. 142641a6cfbSDevin Teske NOTE: Requires `print/psutils-letter' from ports/packages. 143