ponythink in manpage + environment variables PONYSAY_SHELL_LINES and PONYSAY_FULL_WIDTH

This commit is contained in:
Mattias Andrée 2012-07-05 09:14:14 +02:00
parent 738dc690eb
commit 4a39ef4230
3 changed files with 30 additions and 7 deletions

View file

@ -25,6 +25,7 @@ install: all
mkdir -p "$(DESTDIR)/usr/share/man/man1"
install "manpage.1" "$(DESTDIR)/usr/share/man/man1/ponysay.1"
ln -sf "ponysay.1" "$(DESTDIR)/usr/share/man/man1/ponythink.1"
uninstall:
rm -fr "$(DESTDIR)/usr/share/ponies"
@ -36,6 +37,7 @@ uninstall:
unlink "$(DESTDIR)/usr/share/licenses/ponysay/COPYING"
unlink "$(DESTDIR)/usr/share/bash-completion/completions/ponysay"
unlink "$(DESTDIR)/usr/share/man/man1/ponysay.1"
unlink "$(DESTDIR)/usr/share/man/man1/ponythink.1"
clean:
rm -r "ponysaytruncater"

View file

@ -22,6 +22,10 @@ ponysay \- A cowsay wrapper with ponies
.RI [ options ]
.RI [ message ]
.br
.B ponythink
.RI [ options ]
.RI [ message ]
.br
.SH DESCRIPTION
.PP
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
@ -33,6 +37,8 @@ word-wraps the message given at about 40 columns, and prints the pony saying the
.PP
If no arguments are provided, the program only accepts standard input piped from another program, a file or
either here documents or here strings (see man bash(1) for details on here document/string.)
.PP
\fBponythink\fP is to \fIponysay\fP as \fIcowthink\fP is to \fIcowsay\fP.
.SH OPTIONS
A summary of options is included below.
.TP
@ -54,8 +60,16 @@ The screen column where the message should be wrapped
.TP
.B PONYSAY_BOTTOM
Under TTY (Linux VT), if the output is larger the the screen's height, only the beginning is
printed, leaving 2 blank lines. If you want the buttom to be printed rather the the beginning
printed, leaving two blank lines. If you want the buttom to be printed rather the the beginning
you can export \fBPONYSAY_BOTTOM\fP with the value \fIyes\fP, \fIy\fP or \fI1\fP.
.B PONYSAY_SHELL_LINES
Under TTY (Linux VT), if the output is larger the the screen's height, two lines are left blank.
If you want moer, or less, blank lines you can export \fBPONYSAY_SHELL_LINES\fP with the value
of how many blank lines you want. Naturally this takes effect if the output is not actually larger
than the screen.
.B PONYSAY_FULL_WIDTH
You can export \fBPONYSAY_FULL_WIDTH\fP with the value \fIno\fP, \fIn\fP or \fI0\fP, if you
do not want the output to be truncated on the width to fit the terminal.
.SH BUG
Bugs can be reported in <\fBhttps://github.com/erkin/ponysay/issues\fP>.
.SH SEE ALSO

View file

@ -63,15 +63,22 @@ say() {
function wtrunc
{
if [ "$PONYSAY_FULL_WIDTH" = 'no' ] || [ "$PONYSAY_FULL_WIDTH" = 'n' ] || [ "$PONYSAY_FULL_WIDTH" = '0' ]; then
cat
else
ponysaytruncater `tput cols || echo 0` 2>/dev/null ||
${HOME}/.local/bin/ponysaytruncater `tput cols || echo 0` 2>/dev/null ||
./ponysaytruncater `tput cols || echo 0` 2>/dev/null ||
cat
fi
}
function htrunc
{
head --lines=$(( $(stty size <&2 | cut -d ' ' -f 1) - 2 ))
if [ "$PONYSAY_SHELL_LINES" = "" ]; then
PONYSAY_SHELL_LINES=2
fi
head --lines=$(( $(stty size <&2 | cut -d ' ' -f 1) - $PONYSAY_SHELL_LINES ))
}
if [ "$TERM" = "linux" ]; then