#!/bin/sh
# GUI Unload .PFS (for PuppyRus) by Zay, 2012.
#121219 sfs xpupsay .sfs

[ ! -f "$1" ] && exit 1
if [ $# -gt 1 ]; then
  for arg in "$@"; do
    "$0" "${arg}"
  done; exit
fi
filemnt="$(realpath "$1")"

if [ "`echo "$1"|egrep '.sfs$'`" = "" ] ;then 
mountpoint="/mnt/.$(basename "${filemnt}")"
else mountpoint="/mnt/.$(basename "${filemnt}" .sfs)"
fi


if [ -d "${mountpoint}" ]; then

  export WAIT_DIALOG="<window title=\" Отключение... \" resizable=\"false\"><vbox border-width=\"16\">
  <text><label>\"Отключение файла...\"</label></text>
  </vbox></window>"
#  gtkdialog --program=UMNT_DIALOG --center &
  gtkdialog --program=WAIT_DIALOG --center &
  dlgwait=$!

  fm="$(find "${mountpoint}" 2>/dev/null | grep -ic "desktop$")"
  [ -d "${mountpoint}/usr/X11R6/lib/X11/fonts/TTF" -o -d "${mountpoint}/usr/share/fonts/default/TTF" ] && nf=1 || nf=0
  
  # Размонтирование:
#if [ "`echo "$1"|egrep '.sfs$'`" != "" ] ;then 
#    sfsunload "`echo ${filemnt}| sed 's/\.sfs//'`"
#else  sfsunload "${filemnt}"
#fi
sfsunload "${filemnt}"
  status=$?
  
  if [ ${status} -eq 0 ]; then
    cmdfree="$(which pfsramfree)"
    [ "${cmdfree}" != "" ] && "${cmdfree}" "${filemnt}"
    [ ${fm} -gt 0 ] && fixmenus
    if [ ${nf} -gt 0 ]; then
      mfs="$(which mkfontscale)"
      mfd="$(which mkfontdir)"
      for fontdir in "/usr/X11R6/lib/X11/fonts/TTF" "/usr/share/fonts/default/TTF"
	  do
        cd "${fontdir}"
        [ "${mfs}" !=  "" ] && "${mfs}" .
        [ "${mfd}" !=  "" ] && "${mfd}" .		
	  done
    fi
  fi
  kill ${dlgwait} 2>/dev/null
  
  if [ ${status} -eq 0 ]; then
#    Xdialog --title " Отключение PFS " --msgbox " Файл \"$(basename "${filemnt}")\" отключен. \n"  6 0 &
    notify-send " Отключение PFS "  " Файл \"$(basename "${filemnt}")\" отключен. " -i info  &
    sfsevent="$(which sfs_event_rem)"
    [ "${sfsevent}" != "" ] && "${sfsevent}" "${filemnt}"
  else
#    Xdialog --title " Отключение  PFS " --msgbox " ОШИБКА! Файл \"$(basename "${filemnt}")\" не удалось отключить! \n"  6 0
    notify-send " Отключение  PFS "  " ОШИБКА! Файл \"$(basename "${filemnt}")\" не удалось отключить! " -i error &
    exit 1
  fi

else	
#  Xdialog --title " Отключение  PFS " --msgbox " Файл \"$(basename "${filemnt}")\" не подключен. \n"  6 0
  notify-send " Отключение  PFS "  " Файл \"$(basename "${filemnt}")\" не подключен." -i error &
fi

exit 0

