#!/usr/bin/env bash
winezgui-set-wine_cmd-runner-commands()
{ # Get runner winearch from info file
 
 # === = = = = = = = Recreate Prefix script with Runner 
 # If Infofile exists (old scripts) and Runner: is not found add it

 echo "INFOFILE = ${INFOFILE}"
 echo "SETTINGS_FILE = ${SETTINGS_FILE}"
 
 # If INFOFILE is defined and if Infofile exists then get info (for scripts)
 if [ ! -z "${INFOFILE}" ] && [ -f ${INFOFILE} ]; then
    grep "Runner:" "${INFOFILE}" || echo "Runner:${RUNNER}" >> "${INFOFILE}"
    export RUNNER=$(grep -i "Runner:" ${INFOFILE}|cut -f2 -d ":")
    
    # Set winearch so that global setting won't mess up on recreating script
    export WINEARCH=$(grep -i "Wine Arch:" "${INFOFILE}"|cut -f2 -d ":")
 fi
 
 # If Runner is empty in Infofile, then get Runner info from Settings.yml
 # If settings.yml is defined and exists
 if [ -z "${RUNNER}" ]; then
      if [ ! -z "${SETTINGS_FILE}" ] && [ -f "${SETTINGS_FILE}" ]; then
           export RUNNER=$(grep "runner:" ${SETTINGS_FILE}|cut -f2 -d ":")
      fi
 fi  
 
 # If runner is not specified in Infofile or Settings.yml then use wine
 if [ -z "${RUNNER}" ]; then
     export RUNNER="$(which wine)"
 fi
 
 # if runner still not found, then winezgui will throw error anyhow.

#  # if runner is from local install /app/bin/wine or /usr/bin/wine etc.
#  # set RUNNER_NAME
#  if [ "${RUNNER}" = "$(which wine)" ]; then
#       export RUNNER_NAME="System Default"
#  else #Get directory name containing bin/wine
#       export RUNNER_NAME=$(basename $(dirname $(dirname ${RUNNER})))
#  fi
 # if runner is from local install /app/bin/wine or /usr/bin/wine etc.
 # set RUNNER_NAME
 if   [ "${RUNNER}" = "$(which wine)" ]; then
      export RUNNER_NAME="System Default"
 elif [[ "$RUNNER" == *"files/bin/wine" ]]; then
      export RUNNER_NAME=$(basename $(echo ${RUNNER}|sed "s|/files/bin/wine||g"))
 elif [[ "$RUNNER" == *"/bin/wine" ]]; then
      export RUNNER_NAME=$(basename $(echo ${RUNNER}|sed "s|/bin/wine||g"))
 fi

 # Runner = wine command in a different directory
 #export WINE_CMD="${RUNNER}"
 #/ === = = = = = = = Recreate Prefix script with Runner 
 
 echo "11. --------------------------------------- RUNNER = $RUNNER"
 echo "11. --------------------------------------- WINE_CMD = $WINE_CMD"
 echo "11. --------------------------------------- RUNNER_NAME = $RUNNER_NAME"
 
 # If ${FLATPAK_NAME} is installed, and script created using flatpak
 if  [ ${INSTALL_TYPE} = "flatpak" ] && \
     [ $(flatpak --command=echo run ${FLATPAK_NAME} 0 2>/dev/null) ]; then
       dbug "I: Script: Install type: Flatpak, Running from host!"
       WINE_CMD="flatpak run --command=${RUNNER} ${FLATPAK_NAME}"
       WTRICKS_CMD="flatpak run --command=winetricks ${FLATPAK_NAME}"
       WINECFG_CMD="flatpak run --command=${RUNNER} ${FLATPAK_NAME} winecfg"
       WEXPLORER_CMD="flatpak run --command=${RUNNER} ${FLATPAK_NAME} explorer"
       WBOOT_CMD="${WINE_CMD} wineboot -i"
       # wine winetricks icotool exiftool zenity gnome-terminal zstd"
       ICOTOOL_CMD="flatpak run --command=icotool ${FLATPAK_NAME}"
       WRESTOOL_CMD="flatpak run --command=wrestool ${FLATPAK_NAME}"
       ZENITY_CMD="flatpak run --command=zenity ${FLATPAK_NAME}"
       EXIFTOOL_CMD="flatpak run --command=exiftool ${FLATPAK_NAME}"
       ZSTD_CMD="flatpak run --command=zstd ${FLATPAK_NAME}"
       TAR_CMD="flatpak run --command=tar ${FLATPAK_NAME}"
       WGET_CMD="flatpak run --command=wget ${FLATPAK_NAME}"
       WINEVER="$(${WINE_CMD} --version)"
       WINETRICKS="${WTRICKS_CMD}"
       export WINE_CMD WTRICKS_CMD WINECFG_CMD WEXPLORER_CMD WBOOT_CMD WINEVER WINETRICKS
       export ICOTOOL_CMD ZENITY_CMD EXIFTOOL_CMD ZSTD_CMD TAR_CMD WGET_CMD WRESTOOL_CMD
 
 else
      # flatpak install and running from shell inside flatpak winezgui
      if [ "${INSTALL_TYPE}" = "flatpak" ]; then
           dbug "I: Script: Install type: Flatpak, Running from flatpak!"
           export WINE_CMD=${RUNNER}
           export WTRICKS_CMD="$(which winetricks)"
           export WINECFG_CMD="${WINE_CMD} winecfg"
           export WEXPLORER_CMD="${WINE_CMD} explorer"
           export WBOOT_CMD="${WINE_CMD} wineboot -i"
           export ICOTOOL_CMD="$(which icotool)"
           export WRESTOOL_CMD="$(which wrestool)"
           export ZENITY_CMD="$(which zenity)"
           export EXIFTOOL_CMD="$(which exiftool)"
           export ZSTD_CMD="$(which zstd)"
           export TAR_CMD="$(which tar)"
           export WGET_CMD="$(which wget)"
           export WINEVER="$(${WINE_CMD} --version)"
           export WINETRICKS="${WTRICKS_CMD}"
           
      else
           # We are using non flatpak install
           dbug "I: Script: Install type: System, Running from host!"
           export WINE_CMD=${RUNNER}
           export WTRICKS_CMD="$(which winetricks)"
           export WINECFG_CMD="${WINE_CMD} winecfg"
           export WEXPLORER_CMD="${WINE_CMD} explorer"
           export WBOOT_CMD="${WINE_CMD} wineboot -i"
           export ICOTOOL_CMD="$(which icotool)"
           export WRESTOOL_CMD="$(which wrestool)"
           export ZENITY_CMD="$(which zenity)"
           export EXIFTOOL_CMD="$(which exiftool)"
           export ZSTD_CMD="$(which zstd)"
           export TAR_CMD="$(which tar)"
           export WGET_CMD="$(which wget)"
           export WINEVER="$(${WINE_CMD} --version)"
           export WINETRICKS="${WTRICKS_CMD}"
      fi
 fi
 
 # Debug output for Variables created 
 for i in WINE_CMD WTRICKS_CMD WINECFG_CMD WEXPLORER_CMD WBOOT_CMD ICOTOOL_CMD ZENITY_CMD \
          EXIFTOOL_CMD ZSTD_CMD TAR_CMD WGET_CMD WRESTOOL_CMD WINEVER WINETRICKS; do
          if [ ! -z "${i}" ]; then
               echo "Exporting: $i = ${!i}" && export $i 
          else
               echo "=e=e=e=e=e=e=e=e=e=e=e="
               echo "Failed to export: $i"
               echo "=e=e=e=e=e=e=e=e=e=e=e="
          fi
 done
}
