|
|
@ -8,28 +8,24 @@ |
|
|
# 2017-02-07 Start work on this |
|
|
# 2017-02-07 Start work on this |
|
|
# |
|
|
# |
|
|
|
|
|
|
|
|
function get_interpreter() { |
|
|
|
|
|
local EXE="$1" |
|
|
|
|
|
|
|
|
|
|
|
echo "$(basename "${EXE}")" >&2 |
|
|
|
|
|
|
|
|
EXE="$1"; shift |
|
|
|
|
|
|
|
|
case "$(file -b "${EXE}")" in |
|
|
|
|
|
|
|
|
case "$(file -b "${EXE}")" in |
|
|
*DOS*) |
|
|
*DOS*) |
|
|
local CONFIG="${HOME}/.dosbox/$(basename "${EXE}").conf" |
|
|
local CONFIG="${HOME}/.dosbox/$(basename "${EXE}").conf" |
|
|
if [ ! \( -e "${CONFIG}" \) ] |
|
|
if [ ! \( -e "${CONFIG}" \) ] |
|
|
then |
|
|
then |
|
|
cp "${HOME}/.dosbox/dosbox-SVN.conf" "${CONFIG}" |
|
|
cp "${HOME}/.dosbox/dosbox-SVN.conf" "${CONFIG}" |
|
|
fi |
|
|
fi |
|
|
echo -n "/usr/bin/dosbox -exit -conf ${CONFIG}" |
|
|
|
|
|
|
|
|
exec /usr/bin/dosbox -exit -conf "${CONFIG}" "${EXE}" "$@" |
|
|
;; |
|
|
;; |
|
|
*Windows\ shortcut*) echo -n "/usr/bin/wine start";; |
|
|
|
|
|
*Windows*) echo -n "/usr/bin/wine";; |
|
|
|
|
|
esac |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
EXE="$1"; shift |
|
|
|
|
|
WINEXE="${EXE/${WINEPREFIX}drive_c/C:}" |
|
|
|
|
|
WINEXE="${WINEXE//\//\\}" |
|
|
|
|
|
exec $(get_interpreter "${EXE}") "${WINEXE}" "$@" |
|
|
|
|
|
|
|
|
*Windows\ shortcut*) |
|
|
|
|
|
WINEXE="${EXE/${WINEPREFIX}drive_c/C:}" |
|
|
|
|
|
WINEXE="${WINEXE//\//\\}" |
|
|
|
|
|
exec /usr/bin/wine start "${WINEXE}" "$@" |
|
|
|
|
|
;; |
|
|
|
|
|
*Windows*) exec /usr/bin/wine "${EXE}" "$@";; |
|
|
|
|
|
*) exec "${EXE}" "${@}";; |
|
|
|
|
|
esac |
|
|
|
|
|
|
|
|
# vim: ft=sh ts=4 sw=4: |
|
|
# vim: ft=sh ts=4 sw=4: |