summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2010-06-15 03:04:30 +0200
committerRené 'Necoro' Neumann <necoro@necoro.net>2010-06-15 03:04:30 +0200
commitd8ef00c1fd50b4eb3b436118e6a5634ce01334aa (patch)
tree2aa8d91674c471edea78b3fc93481db8ca534d7b
parent4cfcbd3f435f114b8d29f1bf6d50a0378dd7c028 (diff)
downloadplay-d8ef00c1fd50b4eb3b436118e6a5634ce01334aa.tar.gz
play-d8ef00c1fd50b4eb3b436118e6a5634ce01334aa.tar.bz2
play-d8ef00c1fd50b4eb3b436118e6a5634ce01334aa.zip
Merge functions.sh and templates/default back into play.sh
Thus the goal of one-file-install can be kept.
-rw-r--r--functions.sh43
-rwxr-xr-xplay.sh92
-rw-r--r--templates/default39
3 files changed, 90 insertions, 84 deletions
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