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 Show message to user via Dialog box. sh_ivtool.app -s "Hello world!" -q 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 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 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 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 [ [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 [ [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 [ [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