diff --git a/Makefile b/Makefile index 467a0004..194fa291 100644 --- a/Makefile +++ b/Makefile @@ -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" diff --git a/manpage.1 b/manpage.1 index d5b8ec9c..57c42220 100644 --- a/manpage.1 +++ b/manpage.1 @@ -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\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 @@ -86,4 +100,4 @@ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE .br TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION .PP - 0. You just DO WHAT THE FUCK YOU WANT TO. +0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/ponysay b/ponysay index 4b5e912e..9b5b2af0 100755 --- a/ponysay +++ b/ponysay @@ -63,15 +63,22 @@ say() { function wtrunc { - 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 + 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