sh_ivtool.app is a PocketBook Inkview application that provides
some UI elements for scripting languages.  It is used to show
information to or get input from the user using Inkview UI
dialogs.

sh_ivtool.app-Pro-360+ is for the Pro and 360+ PocketBook models
(firmware versions 2, 3 and 4), and sh_ivtool.app-3XX is for the
older 3XX models (firmware version 1).  sh_ivtool.app-fwv5 is for
firmware version 5 devices, and sh_ivtool.app-fwv6 for firmware
version 6.  In all cases, copy the file to /mnt/ext1/system/bin and
rename it to "sh_ivtool.app".

The application prints output to stdout, and returns an error
code.  If the error code is '0', then the output can be used.
If the error code is something else, then the output should be
ignored.

The source code Makefile is for use with Sergey Vlasov's PBSDK package.


Here are the various options that can be used, along with an example of each:

-s <message>    Show message to user via Dialog box.

  sh_ivtool.app -s "Hello world!"


-q <question>   Show question in Dialog box and return the character 'y'
                for 'Yes' and 'n' for 'No'.
                The output should only be used if the error code is '0'.

  ANSWER=`sh_ivtool.app -q "Yes or no?"`
  if [ $? -eq 0 ]; then
  	echo $ANSWER
  else
  	echo Keeping mum!
  fi


-t <message>    Get text input from Keyboard, showing message in header.
                The output should only be used if the error code is '0'.

  TEXT=`sh_ivtool.app -t "Enter some text:"`
  if [ $? -eq 0 ]; then
    #use string $TEXT
  fi


-n <message>    Get number from Numeric Keyboard, showing message in header.
                The output should only be used if the error code is '0'.

  NUM=`sh_ivtool.app -n "Enter a number:"`
  if [ $? -eq 0 ]; then
    #use string $NUM
  fi


-d <message>    Get directory name using OpenDirectorySelector(), showing
                message in header.
                The output should only be used if the error code is '0'.

  DIR=`sh_ivtool.app -d "Select a folder:"`
  if [ $? -eq 0 ]; then
    #use string $DIR
  fi

-f <dir> [ [ext1,ext2] [ext3] ... ]
                Show all files in the given directory and subdirectories,
                and return the name of the chosen file.  Only files with
                the given extensions are shown if the [ext] are given.  The
                OpenContent dialog is used to show the files.  The BACK
                button is used to exit without making a choice.
                The output should only be used if the error code is '0'.

                By default, extensions are separated by spaces and commas,
                however, you can specify a different set of separators using
                the SHIVFS environmental variable.

-F <dir> [ [ext1,ext2] [ext3] ... ]
                Same as for "-f", except that only files in the given directory
                are shown, and subdirectories are ignored.

  export SHIVFS=";, "
  FILE=`sh_ivtool.app -f "/mnt/ext2/my_ebooks/" ".epub,.pdf;.fb2" ".cbr .rar"`
  if [ $? -eq 0 ]; then
    #use $FILE
  fi

-o <opt1[,opt2,...]> [ [opt4[,opt5,...]] ... ]
                Show the given options and return the chosen one.
                Options are delimited with commas only so that spaces can
                be used in the text.  If you include spaces as part of the
                option, be sure to put quotes around the text.  The
                OpenContent dialog is used to show the options.
                The output should only be used if the error code is '0'.

  OPT=`sh_ivtool.app -o "opt1,opt2,opt 3" "opt4"`
  if [ $? -eq 0 ]; then
    #use $OPT
  fi
