#!/usr/bin/env bash
winezgui-runner-set-default()
{
  HEADER="$(basename ${0}): ${FUNCNAME[0]}"
    
  SOURCE "script-check-variables-loaded-or-not"
  script-check-variables-loaded-or-not
  dbug "I: $(basename ${0}): Launched ${FUNCNAME[0]}"
  SOURCE "winezgui-list-available-runners"
  winezgui-list-available-runners || return 1 # get SELECTED_RUNNER, if it returns 1, go back to winezgui
 
  # If Settings.yml is writable
  if [ -w "${SETTINGS_FILE}" ]; then
       #IF runner: is not found add it
       grep "runner:" "${SETTINGS_FILE}" || echo "runner:${RUNNER}" >> "${SETTINGS_FILE}"
       sed "s|runner:.*|runner:${SELECTED_RUNNER}|g" -i "${SETTINGS_FILE}"
       export RUNNER="${SELECTED_RUNNER}"
  fi 
  
  # 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

  # TEST WINEVER
  if [ -z "$WINEVER" ]; then
       $ZENITY_CMD --error --text="WineVER not found in winezgui set runner default"
  fi
  # If About.yml is writable
  if [ -w "${ABOUTFILE}" ]; then
       export RUNNER="${SELECTED_RUNNER}"
       sed "s|Runner:.*|Runner:${RUNNER_NAME}|g" -i "${ABOUTFILE}"
       sed "s|Wine Version:.*|Wine Version:${WINEVER}|g" -i "${ABOUTFILE}"
  fi

  dbug "I: ${HEADER}: Runner: ${SELECTED_RUNNER}"
  dbug "I: ${HEADER}: Selected Runner is ${RUNNER_NAME}"
  export RUNNER
  export RUNNER_NAME
  export WINEVER
  echo "
  I:----Set Default Runner----
  export RUNNER=$RUNNER
  export RUNNER_NAME=$RUNNER_NAME
  export WINEVER=$WINEVER
  "

  # Kill wineserver, so that winetricks with new runner can work
  wineserver -k && dbug "I: killed wineserver"
  
  # Reinitialize the prefix with new runner
  SOURCE "winezgui-initialize-wineprefix"
  winezgui-initialize-wineprefix "${TEMPLATE}"

  TEXT="Changed runner to ${SELECTED_RUNNERDIR_NAME}!\n${SELECTED_RUNNER}"
            ${ZENITY_CMD} --no-wrap --info --text="${TEXT}" \
            --title "${APP_WITH_VER} - Default Runner"
  unset TEXT
  
  ## Restart WineZGUI to load runner from settings.yml
  #winezgui & exit 0
}
