From 882777c6f2635aa5074e4fd323d165ac1450ea29 Mon Sep 17 00:00:00 2001 From: Boris Faure Date: Wed, 16 Oct 2013 23:06:49 +0200 Subject: early typres --- typres.sh | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100755 typres.sh diff --git a/typres.sh b/typres.sh new file mode 100755 index 0000000..ff8d9ed --- /dev/null +++ b/typres.sh @@ -0,0 +1,120 @@ +#!/usr/bin/env bash + +set -e +#set -x + +WL=0 + +r() { + echo -ne '\033}qs\0' && read -s s + COLUMNS=${s/;*} + LINES=${s#*;} + LINES=${LINES/;*} + WL=0 +} + +t() { + #TODO + echo "$@" +} + +function b { + #TODO + echo "$@" +} + +vc() { + local str=$@ + local spaces=$(( ($COLUMNS - ${#str}) / 2 )) + for I in $(seq 1 $spaces); do + echo -n " " + done + echo $str + WL=$(( $WL + 1 )) +} + +c() { + local str=$@ + local lines=() + local len=$COLUMNS + local line="" + for w in $str; do + local l=${#w} + if [[ l -lt $len ]] ; then + len=$(( $len - $l )) + line="$line $w" + else + len=$COLUMNS + lines+=("$line") + line="" + fi + done; + if [[ -n $line ]]; then + lines+=("$line") + fi + + local l=$(( ($LINES - ${#lines[@]}) / 2 )) + for I in $(seq 1 $l); do + echo "" + WL=$(( $WL + 1 )) + done + + + for l in "${lines[@]}"; do + vc $l + done +} + +f() { + WL=$(( $WL + 1 )) + + while [[ $WL -lt $LINES ]]; do + echo "" + WL=$(( $WL + 1 )) + done + echo $@ +} + +function s01 { + c "Terminology - Oct 2013 - Where are we?" + + f $@ +} +function s02 { + t "whoami" + + b "Boris Faure aka billiob" + b "developer on Enlightement and the EFL for 4 years" + + f $@ +} + + + + +slides=(s01 s02) + +clear + +S=0 +while true; do + r + if [[ $S -ge ${#slides[@]} ]]; then + S=0 + fi + if [[ $S -lt 0 ]]; then + S=$(( ${#slides[@]} - 1)) + fi + + eval ${slides[$S]} "$S/${#slides[@]}" + read answer + case $answer in + q*) exit;; + n*) S=$(( $S + 1));; + p*) S=$(( $S - 1));; + r*) ;; + *) S=$answer;; + esac + +done + -- cgit v1.2.1