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 14*8e37a7c8SDevin 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 18*8e37a7c8SDevin 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# $FreeBSD$ 26641a6cfbSDevin Teske 27641a6cfbSDevin TeskeUsage: bsdconfig @PROGRAM_NAME@ [OPTIONS] 28641a6cfbSDevin Teske 29641a6cfbSDevin TeskeOPTIONS: 30e14ddd1fSDevin Teske -h Print this usage statement and exit. 31641a6cfbSDevin Teske -c Don't show command-line shortcut relationships. 32641a6cfbSDevin Teske -d Don't show the date in the graph label. 33641a6cfbSDevin Teske -i Don't show include relationships. 34641a6cfbSDevin Teske 35641a6cfbSDevin TeskeEXAMPLES: 36641a6cfbSDevin Teske View dot(1) language output describing bsdconfig(8) layout/make-up: 37641a6cfbSDevin Teske 38641a6cfbSDevin Teske bsdconfig @PROGRAM_NAME@ | less 39641a6cfbSDevin Teske 40641a6cfbSDevin Teske Render dot(1) output in SVG format (displays in most modern browsers): 41641a6cfbSDevin Teske 42641a6cfbSDevin Teske bsdconfig @PROGRAM_NAME@ | dot -Tsvg -o bsdconfig.svg 43641a6cfbSDevin Teske 44641a6cfbSDevin Teske NOTE: Requires `graphics/graphviz' from ports/packages. 45641a6cfbSDevin Teske 46641a6cfbSDevin Teske View the above-rendered SVG file using your favorite X11-based viewer: 47641a6cfbSDevin Teske 48641a6cfbSDevin Teske gimmage bsdconfig.svg 49641a6cfbSDevin Teske 50641a6cfbSDevin Teske NOTE: Requires `graphics/gimmage' from ports/packages. 51641a6cfbSDevin Teske 52641a6cfbSDevin Teske or 53641a6cfbSDevin Teske 54641a6cfbSDevin Teske gthumb bsdconfig.svg 55641a6cfbSDevin Teske 56641a6cfbSDevin Teske NOTE: Image is scaled to fit window on launch. 57641a6cfbSDevin Teske NOTE: Requires `graphics/gthumb' from ports/packages. 58641a6cfbSDevin Teske 59641a6cfbSDevin Teske or 60641a6cfbSDevin Teske 61641a6cfbSDevin Teske gqview bsdconfig.svg 62641a6cfbSDevin Teske 63641a6cfbSDevin Teske NOTE: Requires `graphics/gqview' from ports/packages. 64641a6cfbSDevin Teske 65641a6cfbSDevin Teske or 66641a6cfbSDevin Teske 67641a6cfbSDevin Teske gx bsdconfig.svg 68641a6cfbSDevin Teske 69641a6cfbSDevin Teske NOTE: Image is scaled to fit window on launch. 70641a6cfbSDevin Teske NOTE: Requires `graphics/gx' from ports/packages. 71641a6cfbSDevin Teske 72641a6cfbSDevin Teske or 73641a6cfbSDevin Teske 74641a6cfbSDevin Teske eog bsdconfig.svg 75641a6cfbSDevin Teske 76641a6cfbSDevin Teske NOTE: Requires `graphics/eog' from ports/packages. 77641a6cfbSDevin Teske 78641a6cfbSDevin Teske Render dot(1) output as PostScript print output consisting of multiple 79641a6cfbSDevin Teske US-Letter sized pages that can be assembled into a large poster (using 80641a6cfbSDevin Teske traditional tools such as scissors and tape): 81641a6cfbSDevin Teske 82641a6cfbSDevin Teske bsdconfig @PROGRAM_NAME@ | dot -Teps -o bsdconfig.eps 83641a6cfbSDevin Teske poster -v -mLet -s1 -o bsdconfig.ps bsdconfig.eps 84641a6cfbSDevin Teske 85641a6cfbSDevin Teske NOTE: Change "-s1" above to "-s0.5" to halve the size of the 86641a6cfbSDevin Teske poster or "-s2", for example, to double the poster size. 87641a6cfbSDevin Teske 88641a6cfbSDevin Teske NOTE: Requires both `graphics/graphviz' and `print/poster' from 89641a6cfbSDevin Teske ports/packages. 90641a6cfbSDevin Teske 91641a6cfbSDevin Teske Render dot(1) output as PostScript scaled to fit on a poster consisting 92641a6cfbSDevin Teske of 2x-wide and 4x-tall US-Letter sized pages: 93641a6cfbSDevin Teske 94641a6cfbSDevin Teske bsdconfig @PROGRAM_NAME@ | dot -Teps -o bsdconfig.eps 95641a6cfbSDevin Teske poster -v -mLet -p2x4Letter -o bsdconfig.ps bsdconfig.eps 96641a6cfbSDevin Teske 97641a6cfbSDevin Teske NOTE: Requires both `graphics/graphviz' and `print/poster' from 98641a6cfbSDevin Teske ports/packages. 99641a6cfbSDevin Teske 100641a6cfbSDevin Teske View the above-rendered PostScript poster using X11: 101641a6cfbSDevin Teske 102641a6cfbSDevin Teske gsview bsdconfig.ps 103641a6cfbSDevin Teske 104641a6cfbSDevin Teske NOTE: Requires `print/gsview' from ports/packages. 105641a6cfbSDevin Teske 106641a6cfbSDevin Teske or 107641a6cfbSDevin Teske 108641a6cfbSDevin Teske convert bsdconfig.ps bsdconfig.pdf 109641a6cfbSDevin Teske xpdf bsdconfig.pdf 110641a6cfbSDevin Teske 111641a6cfbSDevin Teske NOTE: Requires both `graphics/ImageMagick' and 112641a6cfbSDevin Teske `graphics/xdpf' from ports/packages. 113641a6cfbSDevin Teske 114641a6cfbSDevin Teske NOTE: The converted PDF file is not suitable for 115641a6cfbSDevin Teske printing due to loss of quality during the 116641a6cfbSDevin Teske conversion process. 117641a6cfbSDevin Teske 118641a6cfbSDevin Teske Print the above-rendered PostScript poster: 119641a6cfbSDevin Teske 120641a6cfbSDevin Teske lpr -h bsdconfig.ps 121641a6cfbSDevin Teske 122641a6cfbSDevin Teske NOTE: Requires configuration of a printer in `/etc/printcap'. 123641a6cfbSDevin Teske 124641a6cfbSDevin Teske Extract each page of the poster into a separate PNG file: 125641a6cfbSDevin Teske 126641a6cfbSDevin Teske gs -q -dNOPAUSE -dBATCH -sPAPERSIZE=letter \ 127641a6cfbSDevin Teske -dTextAlphaBits=4 -dGraphicsAlphaBits=4 \ 128641a6cfbSDevin Teske -sDEVICE=png16m -sOutputFile=bsdconfig%03d.png \ 129641a6cfbSDevin Teske bsdconfig.ps 130641a6cfbSDevin Teske 131641a6cfbSDevin Teske NOTE: Requires `print/ghostscript9' from ports/packages. 132641a6cfbSDevin Teske 133641a6cfbSDevin Teske NOTE: The converted PNG files are not suitable for printing 134641a6cfbSDevin Teske due to loss of quality during the conversion process. 135641a6cfbSDevin Teske 136641a6cfbSDevin Teske Extract a single page of the poster into a separate PostScript file for 137641a6cfbSDevin Teske printing individual pages from the command-line: 138641a6cfbSDevin Teske 139641a6cfbSDevin Teske psselect 1 bsdconfig.ps bsdconfig-page1.ps 140641a6cfbSDevin Teske lpr -h bsdconfig-page1.ps 141641a6cfbSDevin Teske 142641a6cfbSDevin Teske NOTE: Change "1" to "2" for the second page, ad-infinitum. 143641a6cfbSDevin Teske NOTE: Requires `print/psutils-letter' from ports/packages. 144