From 4dbdca4e85e04fffad598df589fd2114ae267be5 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Thu, 19 Jul 2012 23:39:21 +0200 Subject: adding support for customise cowsay with UCS use, but removing support for cowsay replacers not written in perl; I will provide a screenshot and an environment variable for this.. --- ponysay | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'ponysay') diff --git a/ponysay b/ponysay index d7fb068..bacf1eb 100755 --- a/ponysay +++ b/ponysay @@ -210,12 +210,12 @@ say() { if [ "$TERM" = "linux" ] || [ "$PONYSAY_TRUNCATE_HEIGHT" = 'yes' ] || [ "$PONYSAY_TRUNCATE_HEIGHT" = 'y' ] || [ "$PONYSAY_TRUNCATE_HEIGHT" = '1' ]; then if [ "$PONYSAY_BOTTOM" = 'yes' ] || [ "$PONYSAY_BOTTOM" = 'y' ] || [ "$PONYSAY_BOTTOM" = '1' ]; then - exec "$cmd" -f "$pony" "${wrap:+-W$wrap}" | wtrunc | htrunctail + perl <(cat <(echo -e '#!/usr/bin/perl\nuse utf8;') $(for c in $(echo $PATH":" | sed -e 's/:/\/'"$cmd"' /g'); do if [[ -f $c ]]; then echo $c; break; fi done)) -f "$pony" "${wrap:+-W$wrap}" | wtrunc | htrunctail else - exec "$cmd" -f "$pony" "${wrap:+-W$wrap}" | wtrunc | htrunchead + perl <(cat <(echo -e '#!/usr/bin/perl\nuse utf8;') $(for c in $(echo $PATH":" | sed -e 's/:/\/'"$cmd"' /g'); do if [[ -f $c ]]; then echo $c; break; fi done)) -f "$pony" "${wrap:+-W$wrap}" | wtrunc | htrunchead fi else - exec "$cmd" -f "$pony" "${wrap:+-W$wrap}" | wtrunc + perl <(cat <(echo -e '#!/usr/bin/perl\nuse utf8;') $(for c in $(echo $PATH":" | sed -e 's/:/\/'"$cmd"' /g'); do if [[ -f $c ]]; then echo $c; break; fi done)) -f "$pony" "${wrap:+-W$wrap}" | wtrunc fi } -- cgit From 492b62f39e5a798a2253f2b39345313fb58ebae6 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 20 Jul 2012 04:55:29 +0200 Subject: m + work in info manual --- ponysay | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'ponysay') diff --git a/ponysay b/ponysay index bacf1eb..de1aa09 100755 --- a/ponysay +++ b/ponysay @@ -67,7 +67,7 @@ _linklist() { scrw=`(stty size <&2 || echo 0 0) | cut -d ' ' -f 2` - perl '/dev/stdin' $(echo $args) < /dev/shm/ponysay~ + perl '/dev/stdin' $(echo $args) < /dev/shm/.ponysay~ #!/usr/bin/perl #Author: Mattias Andrée (maandree@kth.se) @@ -134,7 +134,7 @@ while (\$i < \$argc) } EOF - perl $listcmd $scrw $(cat /dev/shm/ponysay~) | sed -e 's/_/ /g' | qlist + perl $listcmd $scrw $(cat /dev/shm/.ponysay~) | sed -e 's/_/ /g' | qlist } linklist() { -- cgit From 301197ff740addf34ad866cfbc532ad9a205e0bd Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 20 Jul 2012 05:10:41 +0200 Subject: new environment variable, PONYSAY_COWSAY, allows replace cowsay with another program, if this variable has a value the "use uft8" patch will not be applies --- ponysay | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) (limited to 'ponysay') diff --git a/ponysay b/ponysay index de1aa09..2d2a321 100755 --- a/ponysay +++ b/ponysay @@ -12,7 +12,13 @@ if [ "$TERM" = "linux" ]; then HOMEPONIES="${HOME}/.local/share/ponysay/ttyponies" fi -cmd=cowsay +if [[ "$PONYSAY_COWSAY" = "" ]]; then + cmd=cowsay + customcmd=0 +else + cmd="$PONYSAY_COWSAY" + customcmd=1 +fi [[ ${0} == *ponythink ]] && cmd=cowthink version() { @@ -208,14 +214,28 @@ say() { tail --lines=$(( `stty size <&2 | cut -d ' ' -f 1` - $PONYSAY_SHELL_LINES )) } + if [[ $customcmd = 0 ]]; then + function cowcmd + { + pcmd='#!/usr/bin/perl\nuse utf8;' + ccmd=$(for c in $(echo $PATH":" | sed -e 's/:/\/'"$cmd"' /g'); do if [[ -f $c ]]; then echo $c; break; fi done) + perl <(cat <(echo -e $pcmd) $ccmd) "$@" + } + else + function cowcmd + { + $cmd "$@" + } + fi + if [ "$TERM" = "linux" ] || [ "$PONYSAY_TRUNCATE_HEIGHT" = 'yes' ] || [ "$PONYSAY_TRUNCATE_HEIGHT" = 'y' ] || [ "$PONYSAY_TRUNCATE_HEIGHT" = '1' ]; then if [ "$PONYSAY_BOTTOM" = 'yes' ] || [ "$PONYSAY_BOTTOM" = 'y' ] || [ "$PONYSAY_BOTTOM" = '1' ]; then - perl <(cat <(echo -e '#!/usr/bin/perl\nuse utf8;') $(for c in $(echo $PATH":" | sed -e 's/:/\/'"$cmd"' /g'); do if [[ -f $c ]]; then echo $c; break; fi done)) -f "$pony" "${wrap:+-W$wrap}" | wtrunc | htrunctail + cowcmd -f "$pony" "${wrap:+-W$wrap}" | wtrunc | htrunctail else - perl <(cat <(echo -e '#!/usr/bin/perl\nuse utf8;') $(for c in $(echo $PATH":" | sed -e 's/:/\/'"$cmd"' /g'); do if [[ -f $c ]]; then echo $c; break; fi done)) -f "$pony" "${wrap:+-W$wrap}" | wtrunc | htrunchead + cowcmd -f "$pony" "${wrap:+-W$wrap}" | wtrunc | htrunchead fi else - perl <(cat <(echo -e '#!/usr/bin/perl\nuse utf8;') $(for c in $(echo $PATH":" | sed -e 's/:/\/'"$cmd"' /g'); do if [[ -f $c ]]; then echo $c; break; fi done)) -f "$pony" "${wrap:+-W$wrap}" | wtrunc + cowcmd -f "$pony" "${wrap:+-W$wrap}" | wtrunc fi } -- cgit From 122f1da602b9039c1f3dc958f5e1a355a6daf44a Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 20 Jul 2012 05:22:46 +0200 Subject: fix on env var --- ponysay | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ponysay') diff --git a/ponysay b/ponysay index 2d2a321..04ab745 100755 --- a/ponysay +++ b/ponysay @@ -194,7 +194,7 @@ say() { function wtrunc { - if [ "$PONYSAY_FULL_WIDTH" = 'no' ] || [ "$PONYSAY_FULL_WIDTH" = 'n' ] || [ "$PONYSAY_FULL_WIDTH" = '0' ]; then + if [ "$PONYSAY_FULL_WIDTH" = 'yes' ] || [ "$PONYSAY_FULL_WIDTH" = 'y' ] || [ "$PONYSAY_FULL_WIDTH" = '1' ]; then cat else WIDTH=`(stty size <&2 || echo 0 0) | cut -d ' ' -f 2` -- cgit From d9d620f9809c8079d8c13ed4794a41f9f5857277 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 20 Jul 2012 05:46:58 +0200 Subject: fixing ponythink bug I introduced --- ponysay | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'ponysay') diff --git a/ponysay b/ponysay index 04ab745..10b031a 100755 --- a/ponysay +++ b/ponysay @@ -19,7 +19,14 @@ else cmd="$PONYSAY_COWSAY" customcmd=1 fi -[[ ${0} == *ponythink ]] && cmd=cowthink +[[ ${0} == *ponythink ]] && + if [[ "$PONYSAY_COWTHINK" = "" ]]; then + cmd=cowthink + customcmd=0 + else + cmd="$PONYSAY_COWTHINK" + customcmd=1 + fi version() { echo "ponysay v$version" @@ -73,7 +80,7 @@ _linklist() { scrw=`(stty size <&2 || echo 0 0) | cut -d ' ' -f 2` - perl '/dev/stdin' $(echo $args) < /dev/shm/.ponysay~ + perl '/dev/stdin' $(echo $args) < '/dev/shm/.ponysay~' #!/usr/bin/perl #Author: Mattias Andrée (maandree@kth.se) @@ -140,7 +147,8 @@ while (\$i < \$argc) } EOF - perl $listcmd $scrw $(cat /dev/shm/.ponysay~) | sed -e 's/_/ /g' | qlist + perl $listcmd $scrw $(cat "/dev/shm/.ponysay~") | sed -e 's/_/ /g' | qlist + rm '/dev/shm/.ponysay~' } linklist() { @@ -217,13 +225,22 @@ say() { if [[ $customcmd = 0 ]]; then function cowcmd { + echo "standrd $cmd" pcmd='#!/usr/bin/perl\nuse utf8;' ccmd=$(for c in $(echo $PATH":" | sed -e 's/:/\/'"$cmd"' /g'); do if [[ -f $c ]]; then echo $c; break; fi done) - perl <(cat <(echo -e $pcmd) $ccmd) "$@" + echo "is $cmd" + if [[ ${0} == *ponythink ]]; then + cat <(echo -e $pcmd) $ccmd > "/dev/shm/.ponythink" + perl '/dev/shm/.ponythink' "$@" + rm '/dev/shm/.ponythink' + else + perl <(cat <(echo -e $pcmd) $ccmd) "$@" + fi } else function cowcmd { + echo "custom $cmd" $cmd "$@" } fi -- cgit