From ce3fac588fb84a109244b9c3d60aba4fc247a86f Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sat, 18 Aug 2012 15:15:57 +0200 Subject: adding .sh to shell version + removing old files --- ponysay | 294 ---------------------------------------------------------------- 1 file changed, 294 deletions(-) delete mode 100755 ponysay (limited to 'ponysay') diff --git a/ponysay b/ponysay deleted file mode 100755 index 9936fae..0000000 --- a/ponysay +++ /dev/null @@ -1,294 +0,0 @@ -#!/usr/bin/env bash - -VERSION=1.4.1 - - - -# Get bash script directory's parent -INSTALLDIR="$(dirname $( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd ))" - -# Directory for installed media files -SYSTEMSHARE="$INSTALLDIR/share/ponysay" -HOMESHARE="${HOME}/.local/share/ponysay" - -# Subscripts -listcmd="$INSTALLDIR/lib/ponysay/list.pl" -linklistcmd="$INSTALLDIR/lib/ponysay/linklist.pl" -truncatercmd="$INSTALLDIR/lib/ponysay/truncater" -quotecmd="$INSTALLDIR/lib/ponysay/pq4ps" -qlistcmd="$INSTALLDIR/lib/ponysay/pq4ps-list.pl" - -pony="*" # Selected pony -wrap="" # Message wrap column -ponies=() # Selected ponies - -scrw=`(stty size <&2 || echo 0 0) | cut -d ' ' -f 2` # Screen width -scrh=`(stty size <&2 || echo 0 0) | cut -d ' ' -f 1` # Screen height - -# KMS ponies extension -kmscmd="" -[ "$TERM" = "linux" ] && kmscmd=$(for c in $(echo $PATH":" | sed -e 's/:/\/ponysay2kmsponysay /g'); do if [ -f $c ]; then echo $c; break; fi done) -[ ! "$kmscmd" = "" ] && TERM="-linux-" - -# Directories for installed ponies files -if [ "$TERM" = "linux" ]; then - SYSTEMPONIES="$SYSTEMSHARE/ttyponies" - HOMEPONIES="$HOMESHARE/ttyponies" -else - SYSTEMPONIES="$SYSTEMSHARE/ponies" - HOMEPONIES="$HOMESHARE/ponies" -fi - -# Cowsay script -if [ ${0} == *ponythink ]; then - if [ "$PONYSAY_COWTHINK" = "" ]; then - cmd=cowthink - customcmd=0 - else - cmd="$PONYSAY_COWTHINK" - customcmd=1 - fi -else - if [ "$PONYSAY_COWSAY" = "" ]; then - cmd=cowsay - customcmd=0 - else - cmd="$PONYSAY_COWSAY" - customcmd=1 - fi -fi - - - -# Ponysay version print function -version() { - echo "ponysay v$VERSION" -} - -# Marks ponies in lists that have quotes -qoutelist() { - bash -c "$("$qlistcmd" $("$quotecmd" --list))" -} - -# Pony list function -list() { - if [ -d $SYSTEMPONIES ]; then - echo -e "\\e[01mponyfiles located in $SYSTEMPONIES:\\e[21m" - perl $listcmd $scrw $(ls --color=no $SYSTEMPONIES | sed -e 's/\.pony$//' | sort) | qoutelist - fi - if [ -d $HOMEPONIES ]; then - echo -e "\\e[01mponyfiles located in $HOMEPONIES:\\e[21m" - perl $listcmd $scrw $(ls --color=no $HOMEPONIES | sed -e 's/\.pony$//' | sort) | qoutelist - fi - if [ ! -d $SYSTEMPONIES ] && [ ! -d $HOMEPONIES ]; then - echo >&2 "All the ponies are missing! Call the Princess!" - fi -} - -# Pony list function with symlink map, for one directory -_linklist() { - echo -e "\\e[01mponyfiles located in $1:\\e[21m" - files=$(ls --color=no $1 | sed -e 's/\.pony$//' | sort) - - args="" - - for file in $files; do - target="$(readlink $1"/"$file".pony")" - - if [ "$target" = "" ]; then - target=$file - else - target=$(echo $target | sed -e 's/^\.\///g' -e 's/\.pony$//g') - fi - - args=$(echo $args $file $target) - done - - perl $listcmd $scrw $(perl $linklistcmd $(echo $args) | sed -e 's/ /_/g') | sed -e 's/_/ /g' | qoutelist -} - -# Pony list function with symlink map, for both directories -linklist() { - _linklist $SYSTEMPONIES - - if [ -d $HOMEPONIES ]; then - _linklist $HOMEPONIES - fi -} - -# Pony quotes -ponyquotes() { - [ "$TERM" = "-linux-" ] && TERM="linux" - "$0" ${wrap:+-W$wrap} $("$quotecmd" $@) -} - -# Usage help print function -usage() { - version - cat < "/tmp/ponythink" - perl '/tmp/ponythink' "$@" - rm '/tmp/ponythink' - else - perl <(cat <(echo -e $pcmd) $ccmd) "$@" - fi - } - else - function cowcmd { - $cmd "$@" - } - fi - - # KMS ponies support - if [ "$kmscmd" = "" ]; then - function runcmd { - cowcmd -f "$pony" "$@" - } - else - function runcmd { - cowcmd -f <($kmscmd "$pony") "$@" - } - fi - - # Print the pony and the message - 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 - runcmd "${wrap:+-W$wrap}" | wtrunc | htrunctail - else - runcmd "${wrap:+-W$wrap}" | wtrunc | htrunchead - fi - else - runcmd "${wrap:+-W$wrap}" | wtrunc - fi -} - - - -# If no stdin and no arguments then print usage and exit -if [ -t 0 ] && [ $# == 0 ]; then - usage - exit -fi - - - -# Parse options -while getopts "f:W:Llhvq" OPT; do - case ${OPT} in - v) version; exit ;; - h) usage; exit ;; - f) ponies+=( $OPTARG ) ;; - l) list; exit ;; - L) linklist; exit ;; - W) wrap="$OPTARG" ;; - q) shift $((OPTIND - 1)); ponyquotes "$*"; exit ;; - \?) usage >&2; exit 1 ;; - esac -done -shift $((OPTIND - 1)) - - -# Check for cowsay -hash $cmd &>/dev/null; if [ $? -ne 0 ]; then - cat >&2 <&2 "All the ponies are missing! Call the Princess!" - exit 1 - fi - - # Choose a random pony - pony="${ponies[$RANDOM%${#ponies[@]}]}" -fi - - -# Print pony with message -if [ -n "$*" ]; then - # Handle a message given via arguments - say <<<"$*" -else - # Handle a message given in stdin - say -fi - -- cgit From 578c5b24a89f528685271c190ed6ed13fd16cc7b Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sat, 18 Aug 2012 15:25:20 +0200 Subject: make file update --- ponysay | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100755 ponysay (limited to 'ponysay') diff --git a/ponysay b/ponysay new file mode 100755 index 0000000..5664f16 --- /dev/null +++ b/ponysay @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +INSTALLDIR="$(dirname $( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd ))" +truncatercmd="$INSTALLDIR/lib/ponysay/truncater" + +scrw=`(stty size <&2 || echo 0 0) | cut -d ' ' -f 2` # Screen width + +function wtrunc { + if [ "$PONYSAY_FULL_WIDTH" = 'yes' ] || [ "$PONYSAY_FULL_WIDTH" = 'y' ] || [ "$PONYSAY_FULL_WIDTH" = '1' ]; then + cat + else + if [[ -f $truncatercmd ]]; then + $truncatercmd $scrw + else + cat + fi + fi +} + +"$0.py" "$@" | wtrunc -- cgit From a2bd6fee37f1a1d950dfc19359ce58a818b2d862 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sat, 18 Aug 2012 15:30:11 +0200 Subject: m make --- ponysay | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'ponysay') diff --git a/ponysay b/ponysay index 5664f16..99292cc 100755 --- a/ponysay +++ b/ponysay @@ -1,7 +1,9 @@ #!/usr/bin/env bash INSTALLDIR="$(dirname $( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd ))" -truncatercmd="$INSTALLDIR/lib/ponysay/truncater" +LIBDIR="$INSTALLDIR/lib/ponysay" + +truncatercmd="$LIBDIR/truncater" scrw=`(stty size <&2 || echo 0 0) | cut -d ' ' -f 2` # Screen width -- cgit From 1dc737fb8b51e224ed29e60ae3c1751e3d54f31f Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sat, 18 Aug 2012 17:57:50 +0200 Subject: m misc --- ponysay | 3 +++ 1 file changed, 3 insertions(+) (limited to 'ponysay') diff --git a/ponysay b/ponysay index 99292cc..891ec7f 100755 --- a/ponysay +++ b/ponysay @@ -19,4 +19,7 @@ function wtrunc { fi } +# Ponies use UTF-8 drawing characters. Prevent a Perl warning. +export PERL_UNICODE=S + "$0.py" "$@" | wtrunc -- cgit From dd0f175b0e4d2b3469fcf3716bab37342cbdae24 Mon Sep 17 00:00:00 2001 From: Elis Axelsson Date: Sun, 19 Aug 2012 12:07:34 +0200 Subject: Hey, no perl left! --- ponysay | 3 --- 1 file changed, 3 deletions(-) (limited to 'ponysay') diff --git a/ponysay b/ponysay index 891ec7f..99292cc 100755 --- a/ponysay +++ b/ponysay @@ -19,7 +19,4 @@ function wtrunc { fi } -# Ponies use UTF-8 drawing characters. Prevent a Perl warning. -export PERL_UNICODE=S - "$0.py" "$@" | wtrunc -- cgit From ffb7b5a7fb79c295dcfab686834c68dd5bf7748f Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sun, 19 Aug 2012 14:26:01 +0200 Subject: Revert "Hey, no perl left!" This reverts commit dd0f175b0e4d2b3469fcf3716bab37342cbdae24. --- ponysay | 3 +++ 1 file changed, 3 insertions(+) (limited to 'ponysay') diff --git a/ponysay b/ponysay index 99292cc..891ec7f 100755 --- a/ponysay +++ b/ponysay @@ -19,4 +19,7 @@ function wtrunc { fi } +# Ponies use UTF-8 drawing characters. Prevent a Perl warning. +export PERL_UNICODE=S + "$0.py" "$@" | wtrunc -- cgit From 924a2ab8edcbe6a4058a4336b7f331c3f3810727 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sun, 19 Aug 2012 19:13:55 +0200 Subject: bash script redefinement --- ponysay | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'ponysay') diff --git a/ponysay b/ponysay index 891ec7f..545144e 100755 --- a/ponysay +++ b/ponysay @@ -3,23 +3,23 @@ INSTALLDIR="$(dirname $( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd ))" LIBDIR="$INSTALLDIR/lib/ponysay" +# The truncater executable truncatercmd="$LIBDIR/truncater" -scrw=`(stty size <&2 || echo 0 0) | cut -d ' ' -f 2` # Screen width +# Screen width +scrw=`(stty size <&2 || echo 0 0) | cut -d ' ' -f 2` +# Output trunction on width function wtrunc { - if [ "$PONYSAY_FULL_WIDTH" = 'yes' ] || [ "$PONYSAY_FULL_WIDTH" = 'y' ] || [ "$PONYSAY_FULL_WIDTH" = '1' ]; then + if [[ "$PONYSAY_FULL_WIDTH" = 'yes' ]] || [[ "$PONYSAY_FULL_WIDTH" = 'y' ]] || [[ "$PONYSAY_FULL_WIDTH" = '1' ]] || [[ ! -f $truncatercmd ]]; then cat else - if [[ -f $truncatercmd ]]; then - $truncatercmd $scrw - else - cat - fi + $truncatercmd $scrw fi } # Ponies use UTF-8 drawing characters. Prevent a Perl warning. export PERL_UNICODE=S +# Run ponysay "$0.py" "$@" | wtrunc -- cgit