From d8ef00c1fd50b4eb3b436118e6a5634ce01334aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Tue, 15 Jun 2010 03:04:30 +0200 Subject: Merge functions.sh and templates/default back into play.sh Thus the goal of one-file-install can be kept. --- functions.sh | 43 -------------------------- play.sh | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- templates/default | 39 ----------------------- 3 files changed, 90 insertions(+), 84 deletions(-) delete mode 100644 functions.sh delete mode 100644 templates/default diff --git a/functions.sh b/functions.sh deleted file mode 100644 index e943dca..0000000 --- a/functions.sh +++ /dev/null @@ -1,43 +0,0 @@ -out () { - echo ">>> $@" -} - -log () { - [[ $PLAY_DEBUG > 0 ]] && echo "*** $@" -} - -exp () { - log "Setting envvar '$1' to '$2'" - export $1=$2 -} - -exc () { - cmd="eval" - - if [[ $1 == "-e" ]]; then - cmd="exec" - shift - fi - - if [[ $PLAY_DEBUG > 0 ]]; then - log "Executing (using '$cmd'):" - log "> $@" - - sleep 3 - fi - - $cmd "$@" -} - -EXPORT () { - local name=$1 - shift - - for f in $@; do - eval "$f () { ${name}_${f}; }" - done -} - -inherit () { - source $PLAY_TEMPLATES/$1 -} diff --git a/play.sh b/play.sh index 5667e81..2a4f3f1 100755 --- a/play.sh +++ b/play.sh @@ -1,5 +1,6 @@ #!/bin/zsh -f +# initialization {{{ PLAY_DEBUG=${PLAY_DEBUG:-0} [[ $PLAY_DEBUG == 2 ]] && setopt xtrace @@ -10,10 +11,95 @@ PLAY_TEMPLATES="${PLAY_TEMPLATES:-$PLAY_DIR/templates}" typeset -A ENV EENV BIN=$0 +# }}} -source $PLAY_DIR/functions.sh +# global functions {{{ +out () { + echo ">>> $@" +} -inherit default +log () { + [[ $PLAY_DEBUG > 0 ]] && echo "*** $@" +} + +exp () { + log "Setting envvar '$1' to '$2'" + export $1=$2 +} + +exc () { + cmd="eval" + + if [[ $1 == "-e" ]]; then + cmd="exec" + shift + fi + + if [[ $PLAY_DEBUG > 0 ]]; then + log "Executing (using '$cmd'):" + log "> $@" + + sleep 3 + fi + + $cmd "$@" +} + +EXPORT () { + local name=$1 + shift + + for f in $@; do + eval "$f () { ${name}_${f}; }" + done +} + +inherit () { + source $PLAY_TEMPLATES/$1 +} +# }}} + +# default template {{{ + +# exporting variables +EENV[WINEPREFIX]='eval echo $PREFIX' +ENV[WINEDEBUG]="-all" +ENV[DISPLAY]=":1" + +PREFIX="~/.wine" + +# functions +default_execute () { + exc -e startx $BIN -x $GAME -- :1 -ac -br -quiet ${=EXARGS} +} + +default_prepare () { + nvidia-settings -l + + # set display size + [[ -n $SIZE ]] && xrandr -s $SIZE +} + +default_setenv () { + for e v in ${(kv)ENV}; do + exp $e $v + done + + for e v in ${(kv)EENV}; do + exp $e `eval $v` + done +} + +default_run () { + # start game + exc wine start $GPATH "$ARGS" + + # wait for wine to shutdown + exc wineserver -w +} + +EXPORT default execute prepare setenv run +# }}} if [[ $1 == "-x" ]]; then source $PLAY_GAMES/$2 @@ -41,3 +127,5 @@ else execute fi fi + +# vim: foldmethod=marker diff --git a/templates/default b/templates/default deleted file mode 100644 index 4fd9c50..0000000 --- a/templates/default +++ /dev/null @@ -1,39 +0,0 @@ -# exporting variables -EENV[WINEPREFIX]='eval echo $PREFIX' -ENV[WINEDEBUG]="-all" -ENV[DISPLAY]=":1" - -PREFIX="~/.wine" - -default_execute () { - exc -e startx $BIN -x $GAME -- :1 -ac -br -quiet ${=EXARGS} -} - -default_prepare () { - nvidia-settings -l - - # set display size - [[ -n $SIZE ]] && xrandr -s $SIZE -} - -default_setenv () { - for e v in ${(kv)ENV}; do - exp $e $v - done - - for e v in ${(kv)EENV}; do - exp $e `eval $v` - done -} - -default_run () { - # start game - exc wine start $GPATH "$ARGS" - - # wait for wine to shutdown - exc wineserver -w -} - -EXPORT default execute prepare setenv run - -# vim:ft=sh -- cgit v1.2.3