#!/bin/sh
###
### smart launch an application
###
### Frank Terbeck <ft@bewatermyfriend.org>
### Last-Modified: Fri Feb 12 19:06:39 2010
###
### <http://ft.bewatermyfriend.org/comp/fvwm.html>
###
if [ -z "$1" ] ; then
printf 'usage: fvwm_launch.sh <application>\n'
exit 1
fi
app="$1"
shift
cfg="${FVWM_USERDIR}/etc/launch_${app}.cfg"
globalcfg="${FVWM_USERDIR}/etc/fvwm_launch.cfg"
script="${FVWM_USERDIR}/lib/launch/launch_${app}."
found=0
for ext in sh pl py rb zsh ksh bash csh ; do
if [ -r "${script}${ext}" ] ; then
script="${script}${ext}"
if [ ! -x "${script}" ] ; then
printf 'Launch script found, but not executable!\n'
printf 'Script file: %s\n' "${script}"
exit 1
fi
found=1
break
fi
done
if [ "${found}" -eq 0 ] ; then
printf 'No launch script found for %s.\n' "${app}"
printf 'Script directory: %s\n' "${FVWM_USERDIR}/lib/launch/"
exit 1
fi
if [ -r "${globalcfg}" ] ; then
printf 'Loading : %s\n' "${globalcfg}"
. "${globalcfg}"
fi
if [ -r "${cfg}" ] ; then
printf 'Loading : %s\n' "${cfg}"
. "${cfg}"
fi
FVWM_LAUNCH_WD=${FVWM_LAUNCH_WD:-$HOME}
FVWM_LAUNCH_CTYPE=${FVWM_LAUNCH_CTYPE:-$LC_CTYPE}
FVWM_LAUNCH_TERMINAL=${FVWM_LAUNCH_TERMINAL:-xterm}
FVWM_LAUNCH_TITLE=${FVWM_LAUNCH_TITLE:-$app}
FVWM_LAUNCH_NAME=${FVWM_LAUNCH_NAME:-$app}
export FVWM_LAUNCH_WD
export FVWM_LAUNCH_CTYPE
export FVWM_LAUNCH_TERMINAL
export FVWM_LAUNCH_TITLE
export FVWM_LAUNCH_NAME
printf 'Executing: %s\n' "${script}"
exec "${script}" "$@"