├── README.md └── Setup-openwith.app /README.md: -------------------------------------------------------------------------------- 1 | [![Build Status][travis-badge]][travis-link] 2 | [![GitHub release][release-badge]][release-link] 3 | 4 | Скрипт **Setup-openwith** для электронных книг PocketBook с прошивкой 5.x, настраивающий **Дополнительное меню настроек "Открыть с помощью"** 5 | ================================================== 6 | **Новое меню дополнительных настроек появится в настройках "Персонализация" -> "Открыть с помощью".** 7 | 8 | Интерфейс скрипта Setup-openwith и настроенного нового меню являются мультиязычными, насколько позволяет имеющаяся локализация PocketBook. 9 | Скрипт создавался независимым от модели и прошивки PocketBook, но отлаживался только на PocketBook 650. 10 | 11 | Описание настроечного скрипта Setup-openwith 12 | --------------------------------------------- 13 | - Установка скрипта производится копированием файла Setup-openwith.app в папку /applications/ во внутренней памяти устройства. 14 | - Скрипт добавляет в меню настроек возможность настроить приложение "по умолчанию" которым будет открываться файл с указанным расширением. 15 | - В меню добавляются расширения файлов и программы, которые на момент запуска скрипта Setup-openwith были прописаны в файлах extensions.cfg внутри прошивки и во внутренней памяти. 16 | - При обнаружении недостающих записей в extensions.cfg во внутренней памяти устройста, скрипт предлогает добавить все поддерживаемые расширения следующих обнаруженных дополнительных программ: 17 | * [Cool Reader 3](https://github.com/blchinezu/pocketbook-coolreader/releases) 18 | * [Pbimageviewer](http://www3.telus.net/rkomar/pbimageviewer/) (включая 7z.so) 19 | * [KOReader](https://github.com/koreader/koreader/releases) 20 | >! В этом случае список расширений в меню настроек и в файле extensions.cfg будет отсортирован по алфавиту. 21 | - При обнаружении Cool reader 3, скрипт создаст две новых темы на основе текущей темы в настройках Персонализация (по умолчанию Line) с замененным виджетом "Поиск" в верхней панели управления на новый "FB2" для быстрого переключения программы по умолчанию открывающую .fb2 файлы (Coor reader 3 или встроенный FB Reader/PB Reader). Встроенный просмотрщик выбирается FB Reader (fbreader.app) или PB Reader (eink-reader.app) в зависимости от того, каким открываются .fb2 файлы на устройстве. Для изменения интерфейса нужно выбрать новую тему оканчивающуюся на OpenWith в Настройки->Персонализация->Тема. Поиском можно продолжить пользоваться через Библиотеку. 22 | - По окончанию настройки скрипт предложит сам себя удалить. Рекомендую его оставить хотя бы на случай обновления прошивки. 23 | 24 | >**ВАЖНО! После обновления прошивки обязательно перезапустите скрипт Setup-openwith для обновления нового меню настроек, иначе меню настроек Персонализация останется от старой прошивки и будет не корректно работать. 25 | Для перенастройки дополнительного меню "Открыть с помощью" достаточно еще раз поверх установить скрипт Setup-openwith.** 26 | 27 | Описание дополнительных настроек "Открыть с помощью" 28 | ----------------------------------------------------- 29 | - Пункт меню "Применение настроек" - вносит настроенные изменения в файл extensions.cfg (находящийся во внутренней памяти устройства), указывая программу по умолчанию только в тех местах строк, где надо, не добавляя и не удаляя строк. (Если программа для открытия необходимого файла уже указана, то она перемещается на первое место, если ее нет, то программа добавляется). 30 | - Пункт меню "Очистить историю" - удаляет файл handlers.cfg из внутренней памяти, что позволяет сбросить соответствие какой штатной программой открывалась (и будет далее открываться по умолчанию) последний раз книга. 31 | - Пункт меню "Удалить" полностью удаляет дополнительное меню "Открыть с помощью", включая темы, содержащие в названии OpenWith. При этом extensions.cfg остается с последними примененными ранее настройками. 32 | 33 | После настройки скрипт создает во внутренней памяти следующие файлы: 34 | ``` 35 | /mnt/ext1/system/bin/openwith_apply.app 36 | /mnt/ext1/system/bin/openwith_clear.app 37 | /mnt/ext1/system/bin/openwith_remove.app 38 | /mnt/ext1/system/bin/openwith_fb2.app 39 | /mnt/ext1/system/config/openwith.cfg 40 | /mnt/ext1/system/config/settings/personalize.json 41 | /mnt/ext1/system/config/settings/openwith.json 42 | /mnt/ext1/system/themes/*-OpenWith(Reader).bpt (например /mnt/ext1/system/themes/Line-OpenWith(Reader).bpt) 43 | /mnt/ext1/system/themes/*-OpenWith(CR3).bpt (например /mnt/ext1/system/themes/Line-OpenWith(CR3).bpt) 44 | ``` 45 | Для ручного удаления дополнительного меню "Открыть с помощью", достаточно удаления этих файлов. 46 | 47 | [travis-badge]:https://travis-ci.org/Lighting/Setup-openwith.svg?branch=master 48 | [travis-link]:https://travis-ci.org/Lighting/Setup-openwith 49 | [release-badge]:https://img.shields.io/github/release/Lighting/Setup-openwith.svg 50 | [release-link]:https://github.com/Lighting/Setup-openwith/releases/latest 51 | -------------------------------------------------------------------------------- /Setup-openwith.app: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Setup-openwith script by Lit 4 | VERSION="1.5.1" 5 | # https://github.com/Lighting/Setup-openwith 6 | # 7 | 8 | # -------------------------------------------------------------------------- 9 | # List of known readers names 10 | # 11 | # READERS_APPS - list of readers executable files (in bin/ directory) 12 | # READERS_NAMES - list of readers title names 13 | # 14 | READERS_APPS="AdobeViewer.app,fbreader.app,eink-reader.app,eink-reader_with_rmsdk.app,eink-reader_with_pdfium.app,djviewer.app,picviewer.app,browser.app,cr3-pb.app,pbimageviewer.app,koreader.app,7z.so" 15 | READERS_NAMES="@OpenWithAdobe,@OpenWithFbreader,PB Reader,@eink-reader_with_rmsdk,@eink-reader_with_pdfium,DjView,@Gallery,@Browser,Cool Reader 3,Pbimageviewer,KOReader,Pbimageviewer(7z.so)" 16 | # 17 | # BINS - List of third-party reader's binaries 18 | # BIN#_EXT$ - additional extensions.cfg string $ for # reader's binary 19 | # 20 | BINS="cr3-pb.app,pbimageviewer.app,7z.so,koreader.app" 21 | BIN1_EXT1="asp:@HTML_file:1:cr3-pb.app:ICON_HTM" 22 | BIN1_EXT2="cgi:@HTML_file:1:cr3-pb.app:ICON_HTM" 23 | BIN1_EXT3="chm:@Z_HTML_file:1:cr3-pb.app:ICON_CHM" 24 | BIN1_EXT4="epub:@EPUB_file:1:cr3-pb.app:ICON_EPUB" 25 | BIN1_EXT5="fb2:@FB2_file:1:cr3-pb.app:ICON_FB2" 26 | BIN1_EXT6="htm:@HTML_file:1:cr3-pb.app:ICON_HTM" 27 | BIN1_EXT7="html:@HTML_file:1:cr3-pb.app:ICON_HTM" 28 | BIN1_EXT8="jsp:@HTML_file:1:cr3-pb.app:ICON_HTM" 29 | BIN1_EXT9="mht:@HTML_file:1:cr3-pb.app:ICON_HTM" 30 | BIN1_EXT10="php:@HTML_file:1:cr3-pb.app:ICON_HTM" 31 | BIN1_EXT11="pl:@HTML_file:1:cr3-pb.app:ICON_HTM" 32 | BIN1_EXT12="rtf:@RTF_file:1:cr3-pb.app:ICON_RTF" 33 | BIN1_EXT13="txt:@Text_file:1:cr3-pb.app:ICON_TXT" 34 | BIN2_EXT1="tar:@TAR_file:1:pbimageviewer.app:ICON_ZIP" 35 | BIN2_EXT2="tar.gz:@TAR_file:1:pbimageviewer.app:ICON_ZIP" 36 | BIN2_EXT3="tgz:@TAR_file:1:pbimageviewer.app:ICON_ZIP" 37 | BIN2_EXT4="tar.bz2:@TAR_file:1:pbimageviewer.app:ICON_ZIP" 38 | BIN2_EXT5="tbz2:@TAR_file:1:pbimageviewer.app:ICON_ZIP" 39 | BIN2_EXT6="zip:@ZIP_file:1:pbimageviewer.app:ICON_ZIP" 40 | BIN2_EXT7="cbz:@ZIP_file:1:pbimageviewer.app:ICON_ZIP" 41 | BIN2_EXT8="rar:@RAR_file:1:pbimageviewer.app:ICON_ZIP" 42 | BIN2_EXT9="cbr:@RAR_file:1:pbimageviewer.app:ICON_ZIP" 43 | BIN2_EXT10="jpg:@JPEG_image:2:pbimageviewer.app:ICON_JPG" 44 | BIN2_EXT11="jpeg:@JPEG_image:2:pbimageviewer.app:ICON_JPG" 45 | BIN2_EXT12="png:@PNG_image:2:pbimageviewer.app:ICON_PNG" 46 | BIN2_EXT13="bmp:@BMP_image:2:pbimageviewer.app:ICON_BMP" 47 | BIN2_EXT14="tif:@TIFF_image:2:pbimageviewer.app:ICON_TIFF" 48 | BIN2_EXT15="tiff:@TIFF_image:2:pbimageviewer.app:ICON_TIFF" 49 | BIN3_EXT1="7z:@ZIP_file:1:pbimageviewer.app:ICON_ZIP" 50 | BIN3_EXT2="cb7:@ZIP_file:1:pbimageviewer.app:ICON_ZIP" 51 | BIN3_EXT3="cbt:@TAR_file:1:pbimageviewer.app:ICON_ZIP" 52 | BIN4_EXT1="pdf:@PDF_file:1:koreader.app:ICON_PDF" 53 | BIN4_EXT2="djvu:@DJVU_file:1:koreader.app:ICON_DJVU" 54 | BIN4_EXT3="epub:@EPUB_file:1:koreader.app:ICON_EPUB" 55 | BIN4_EXT4="fb2:@FB2_file:1:koreader.app:ICON_FB2" 56 | BIN4_EXT5="mobi:@MOBI_file:1:koreader.app:ICON_MOBI" 57 | BIN4_EXT6="zip:@ZIP_file:1:koreader.app:ICON_ZIP" 58 | BIN4_EXT7="cbz:@ZIP_file:1:koreader.app:ICON_ZIP" 59 | # -------------------------------------------------------------------------- 60 | 61 | # -------------------------------------------------------------------------- 62 | # Fast-switch feature for .fb2 extension 63 | # 64 | # FAST_SWITCH_APP - new app for fast-switch 65 | # default_switch_app - default app switched with new app and vice versa 66 | # ALTERNATE_SWITCH_APP - alternate default app if founded for .fb2 extension 67 | # FAST_SWITCH_SHORTCUT - element in theme replaced by fast-switch 68 | # 69 | FAST_SWITCH_APP="cr3-pb.app" 70 | default_switch_app="fbreader.app" 71 | ALTERNATE_SWITCH_APP="eink-reader.app" 72 | FAST_SWITCH_SHORTCUT="control.panel.shortcut.5." 73 | FAST_SWITCH_TEXT="FB2:" 74 | OPEN_SWITCH_NAME="OpenWith" 75 | FAST_SWITCH_SUFFIX="(CR3)" 76 | DEFAULT_SWITCH_SUFFIX="(Reader)" 77 | # -------------------------------------------------------------------------- 78 | 79 | DEFAULT_THEME="Line" 80 | TEMP_THEME="/tmp/theme.pbt" 81 | TEMP_THEME_CFG="/tmp/theme.cfg" 82 | TEMP_THEME2_CFG="/tmp/theme2.cfg" 83 | EBRMAIN_CONFIG="/ebrmain/config" 84 | EBRMAIN_LANG="/ebrmain/language" 85 | EBRMAIN_THEME="/ebrmain/themes" 86 | SYSTEM_PATH="/mnt/ext1/system" 87 | SYSTEM_BIN="$SYSTEM_PATH/bin" 88 | SYSTEM_SETTINGS="$SYSTEM_PATH/config/settings" 89 | EBRMAIN_EXTENSIONS_CFG="$EBRMAIN_CONFIG/extensions.cfg" 90 | SYSTEM_EXTENSIONS_CFG="$SYSTEM_PATH/config/extensions.cfg" 91 | SYSTEM_GLOBAL_CFG="$SYSTEM_PATH/config/global.cfg" 92 | SYSTEM_OPENWITH_CFG="$SYSTEM_PATH/config/openwith.cfg" 93 | LNG="`awk -F= '/^language=/ {print $2}' "$SYSTEM_GLOBAL_CFG"|tr -d '\r'`" 94 | 95 | Get_word() 96 | { 97 | w="`awk -F= '/^'"$2"'=/ {print $2}' "$EBRMAIN_LANG/${LNG:-en}.txt"|tr -d '\r'`" 98 | eval "$1=\"${w:-$2}\"" 99 | } 100 | 101 | Get_word w1 "@Install" 102 | Get_word w2 "@Advanced" 103 | Get_word w3 "@PersonalSettings" 104 | Get_word w4 "@OpenWith" 105 | /ebrmain/bin/dialog 2 "" "$w1: $w2 106 | \"$w3 -> $w4\" v$VERSION" "@Install_q" "@Cancel" 107 | [ "$?" != "1" ] && exit 1 108 | 109 | Get_reader_name() 110 | { 111 | app_count=1 112 | for app in $READERS_APPS; do 113 | if [ "$app" = "$2" ]; then 114 | app_name="`echo "$READERS_NAMES"|cut -d , -f$app_count`" 115 | eval "$1=\"$app_name\"" 116 | return 117 | fi 118 | app_count="`expr $app_count + 1`" 119 | done 120 | eval "$1=\"${2%.app}\"" 121 | } 122 | 123 | extensions="" 124 | app_ext_count=1 125 | for str in `awk /:/ "$EBRMAIN_EXTENSIONS_CFG"|tr -d '\r'`; do 126 | ext="${str%%:*}" 127 | apps="`echo "$str"|cut -d : -f4`" 128 | extensions="$extensions,$ext" 129 | eval "APP_EXT$app_ext_count=\"$apps\"" 130 | [ "$apps" != "${apps/,}" ] && eval "APP_SYS$app_ext_count=1" 131 | app_ext_count="`expr $app_ext_count + 1`" 132 | done 133 | 134 | extensions="${extensions:1}" 135 | for str in `awk /:/ "$SYSTEM_EXTENSIONS_CFG"|tr -d '\r'`; do 136 | ext="${str%%:*}" 137 | apps="`echo "$str"|cut -d : -f4`" 138 | count=1 139 | IFS=, 140 | for ext_def in $extensions; do 141 | if [ "$ext_def" = "$ext" ]; then 142 | eval "APP_EXT$count=\"\$APP_EXT$count,$apps\"" 143 | eval "APP_DEF$count=\"${apps%%,*}\"" 144 | continue 2 145 | fi 146 | count="`expr $count + 1`" 147 | done 148 | extensions="$extensions,$ext" 149 | eval "APP_EXT$app_ext_count=\"$apps\"" 150 | app_ext_count="`expr $app_ext_count + 1`" 151 | done 152 | 153 | Add_extention_text() 154 | { 155 | if [ "$reader" = "$count" ]; then 156 | extensions_text="$extensions_text, $ext" 157 | else 158 | Get_reader_name reader_name_first "$bin_file" 159 | if [ "$extensions_text" ]; then 160 | extensions_text="$extensions_text. 161 | - $reader_name_first: $ext" 162 | else 163 | extensions_text="- $reader_name_first: $ext" 164 | fi 165 | reader="$count" 166 | fi 167 | } 168 | 169 | reader=0 170 | extensions_cfg="" 171 | extensions_text="" 172 | extensions2="$extensions" 173 | count=0 174 | IFS=, 175 | for bin_file in $BINS; do 176 | count="`expr $count + 1`" 177 | [ -e "$SYSTEM_BIN/$bin_file" ] || continue 178 | count2=1 179 | while true; do 180 | eval "str=\"\$BIN${count}_EXT$count2\"" 181 | count2="`expr $count2 + 1`" 182 | [ "$str" ] || break 183 | ext="${str%%:*}" 184 | apps="`echo "$str"|cut -d : -f4`" 185 | count3=1 186 | for ext_def in $extensions2; do 187 | if [ "$ext_def" = "$ext" ]; then 188 | eval "reader_apps=\",\${APP2_EXT$count3:-\$APP_EXT$count3}\"" 189 | eval "APP2_EXT$count3=\"\${APP2_EXT$count3:-\$APP_EXT$count3},$apps\"" 190 | for reader_app in $apps; do 191 | if [ "$reader_apps" = "${reader_apps/,$reader_app}" ]; then 192 | Add_extention_text 193 | echo "$extensions_cfg"|grep -q -e "^$ext:.*" || grep -q -e "^$ext:.*" "$SYSTEM_EXTENSIONS_CFG" || extensions_cfg="$extensions_cfg$str 194 | " 195 | continue 3 196 | fi 197 | done 198 | continue 2 199 | fi 200 | count3="`expr $count3 + 1`" 201 | done 202 | extensions2="$extensions2,$ext" 203 | eval "APP2_EXT$app_ext_count=\"$apps\"" 204 | app_ext_count="`expr $app_ext_count + 1`" 205 | extensions_cfg="$extensions_cfg$str 206 | " 207 | Add_extention_text 208 | done 209 | done 210 | 211 | if [ "$extensions_text" ]; then 212 | [ "$extensions_text" ] && extensions_text="$extensions_text." 213 | extensions_new="${extensions_new:1}" 214 | Get_word w1 "@SearchFound" 215 | Get_word w2 "@DetailSoftwareInfo" 216 | Get_word w3 "@Add" 217 | Get_word w4 "@AllNew" 218 | Get_word w5 "@Formats" 219 | Get_word w6 "@Filters" 220 | /ebrmain/bin/dialog 2 "" "$w1: $w2. 221 | 222 | $w3 $w4 $w5 & $w6 223 | $SYSTEM_EXTENSIONS_CFG? 224 | $extensions_text" "$w3" 225 | if [ "$?" = "1" ]; then 226 | echo -n "$extensions_cfg" >> "$SYSTEM_EXTENSIONS_CFG" 227 | extensions="`echo -e "${extensions2//,/\\\n}"|sort`" 228 | extensions="${extensions// 229 | /,}" 230 | count=0 231 | for ext in $extensions; do 232 | count="`expr $count + 1`" 233 | count2=1 234 | for ext_def in $extensions2; do 235 | if [ "$ext_def" = "$ext" ]; then 236 | eval "COUNT_EXT$count=\"$count2\"" 237 | continue 2 238 | fi 239 | count2="`expr $count2 + 1`" 240 | done 241 | done 242 | sort -o "$SYSTEM_EXTENSIONS_CFG" "$SYSTEM_EXTENSIONS_CFG" 243 | extensions2="1" 244 | else 245 | extensions2="" 246 | fi 247 | else 248 | extensions2="" 249 | fi 250 | 251 | mkdir -p "$SYSTEM_SETTINGS" 252 | sed -e :a -e '/^\n*$/{$d;N;};/\n$/ba' "$EBRMAIN_CONFIG/settings/personalize.json"|head -n -1 > "$SYSTEM_SETTINGS/personalize.json" 253 | echo -e ', 254 | \t{ 255 | \t\t"control_type" : "submenu", 256 | \t\t"icon_id" : "ci_panel_config", 257 | \t\t"id" : "openwith", 258 | \t\t"from_file" : "./openwith.json", 259 | \t\t"title_id" : "@OpenWith" 260 | \t} 261 | ]' >> "$SYSTEM_SETTINGS/personalize.json" 262 | 263 | echo -e '[ 264 | \t{ 265 | \t\t"control_type" : "executable", 266 | \t\t"icon_id" : "ci_optimize_db", 267 | \t\t"id" : "openwith_apply", 268 | \t\t"storage" : [ "${SYSTEM_APPLICATION_PATH}/openwith_apply.app" ], 269 | \t\t"title_id" : "@PS_ApplyingChanges" 270 | \t}, 271 | \t{ 272 | \t\t"control_type" : "executable", 273 | \t\t"icon_id" : "ci_scanmode", 274 | \t\t"id" : "openwith_clear", 275 | \t\t"storage" : [ "${SYSTEM_APPLICATION_PATH}/openwith_clear.app" ], 276 | \t\t"title_id" : "@BrowserClearHistory" 277 | \t},' > "$SYSTEM_SETTINGS/openwith.json" 278 | 279 | rm -f "$SYSTEM_OPENWITH_CFG" 280 | Get_word w1 "@Default" 281 | fast_switch=0 282 | count=0 283 | for ext in $extensions; do 284 | count="`expr $count + 1`" 285 | if [ "$extensions2" ]; then 286 | eval "count2=\"\$COUNT_EXT$count\"" 287 | eval "apps=\"\${APP2_EXT$count2:-\$APP_EXT$count2}\"" 288 | else 289 | eval "apps=\"\$APP_EXT$count\"" 290 | count2="$count" 291 | fi 292 | [ "$apps" = "${apps/,}" ] && continue 293 | reader_app_first="${apps%%,*}" 294 | Get_reader_name reader_name_first "$reader_app_first" 295 | echo -e '\t{ 296 | \t\t"control_type" : "list", 297 | \t\t"icon_id" : "ci_dict", 298 | \t\t"id" : "ext_'"$ext"'", 299 | \t\t"kind" : "text", 300 | \t\t"default" : ":'"$reader_app_first:$reader_name_first"'", 301 | \t\t"storage" : [ "${SYSTEM_CONFIG_PATH}/openwith.cfg, '"$ext"'" ], 302 | \t\t"values" : [' >> "$SYSTEM_SETTINGS/openwith.json" 303 | reader_apps="" 304 | for reader_app in $apps; do 305 | if [ "$ext" = "fb2" ]; then 306 | [ "$reader_app" = "$FAST_SWITCH_APP" ] && fast_switch=1 307 | [ "$reader_app" = "$ALTERNATE_SWITCH_APP" ] && default_switch_app="$ALTERNATE_SWITCH_APP" 308 | fi 309 | [ "$reader_apps" != "${reader_apps/,$reader_app}" ] && continue 310 | reader_apps="$reader_apps,$reader_app" 311 | Get_reader_name reader_name "$reader_app" 312 | echo -e '\t\t\t":'"$reader_app:$reader_name"'",' >> "$SYSTEM_SETTINGS/openwith.json" 313 | done 314 | echo -ne '\t\t\t], 315 | \t\t"title_id" : ".'"$ext" >> "$SYSTEM_SETTINGS/openwith.json" 316 | eval "reader_app_sys=\"\$APP_SYS$count2\"" 317 | if [ "$reader_app_sys" = "1" ]; then 318 | Get_word reader_name_def "$reader_name_first" 319 | echo -n " ($w1 $reader_name_def)" >> "$SYSTEM_SETTINGS/openwith.json" 320 | fi 321 | echo -e '" 322 | \t},' >> "$SYSTEM_SETTINGS/openwith.json" 323 | eval "reader_app_def=\"\$APP_DEF$count2\"" 324 | [ "$reader_app_def" ] || reader_app_def="$reader_app_first" 325 | /ebrmain/bin/iv2sh WriteConfig "$SYSTEM_OPENWITH_CFG" "$ext" "$reader_app_def" 326 | new_apps="$reader_app_def`echo ",$reader_apps"|sed "s/,*$reader_app_def//g"|sed s/,,*/,/g`" 327 | sed -i "s/^\($ext:.*:.*:\).*\(:.*\)$/\1$new_apps\2/" "$SYSTEM_EXTENSIONS_CFG" 328 | done 329 | 330 | echo -e '\t{ 331 | \t\t"control_type" : "executable", 332 | \t\t"icon_id" : "ci_remove_packages", 333 | \t\t"id" : "openwith_remove", 334 | \t\t"storage" : [ "${SYSTEM_APPLICATION_PATH}/openwith_remove.app" ], 335 | \t\t"title_id" : "@Delete" 336 | \t} 337 | ]' >> "$SYSTEM_SETTINGS/openwith.json" 338 | 339 | echo '#!/bin/sh 340 | LNG="`awk -F= '\''/^language=/ {print $2}'\'' "'"$SYSTEM_GLOBAL_CFG"'"|tr -d '\''\r'\''`" 341 | 342 | Get_word() 343 | { 344 | w="`awk -F= '\''/^'\''"$2"'\''=/ {print $2}'\'' "'"$EBRMAIN_LANG"'/${LNG:-en}.txt"|tr -d '\''\r'\''`" 345 | eval "$1=\"${w:-$2}\"" 346 | } 347 | 348 | Get_word w1 "@Delete" 349 | Get_word w2 "@Advanced" 350 | Get_word w3 "@OpenWith" 351 | /ebrmain/bin/dialog 4 "" "$w1 352 | $w2 353 | \"$w3\"?" "@Delete" 354 | if [ "$?" = "1" ]; then 355 | rm -f "'"$SYSTEM_SETTINGS/personalize.json"'" 356 | rm -f "'"$SYSTEM_SETTINGS/openwith.json"'" 357 | rm -f "'"$SYSTEM_OPENWITH_CFG"'" 358 | openwith="'"$SYSTEM_PATH"'/profiles/*/config/settings/openwith.json" 359 | if [ "$openwith" = "`echo $openwith`" ]; then 360 | rm -f "'"$SYSTEM_BIN/openwith_apply.app"'" 361 | rm -f "'"$SYSTEM_BIN/openwith_clear.app"'" 362 | rm -f "'"$SYSTEM_BIN/openwith_remove.app"'" 363 | rm -f "'"$SYSTEM_BIN/openwith_fb2.app"'" 364 | GLOBAL_THEME="`awk -F= '\''/^theme=/ {print $2}'\'' "'"$SYSTEM_GLOBAL_CFG"'"|tr -d '\''\r'\''`" 365 | [ "${GLOBAL_THEME%'"-$OPEN_SWITCH_NAME"'*}" != "$GLOBAL_THEME" ] && /ebrmain/bin/iv2sh WriteConfig "'"$SYSTEM_GLOBAL_CFG"'" theme "" 366 | rm -f "'"$SYSTEM_PATH"'/themes/"*"'"$OPEN_SWITCH_NAME"'"*.pbt 367 | fi 368 | sync 369 | killall settings.app 370 | /ebrmain/bin/iv2sh SendEventTo -1 154 371 | fi' > "$SYSTEM_BIN/openwith_remove.app" 372 | 373 | echo '#!/bin/sh 374 | Set_default() 375 | { 376 | apps="`echo "$str"|cut -d : -f4`" 377 | new_apps="$def_app`echo ",$apps"|sed "s/,*$def_app//g"|sed s/,,*/,/g`" 378 | sed -i "s/^\($ext:.*:.*:\).*\(:.*\)$/\1$new_apps\2/" "'"$SYSTEM_EXTENSIONS_CFG"'" 379 | } 380 | 381 | while read def_str; do 382 | apply=0 383 | def_ext="${def_str%%=*}" 384 | def_app="${def_str#*=}" 385 | for str in `awk /:/ "'"$SYSTEM_EXTENSIONS_CFG"'"|tr -d '\''\r'\''`; do 386 | ext="${str%%:*}" 387 | [ "$ext" != "$def_ext" ] && continue 388 | Set_default 389 | apply=1 390 | done 391 | if [ "$apply" = "0" ]; then 392 | for str in `awk /:/ "'"$EBRMAIN_EXTENSIONS_CFG"'"|tr -d '\''\r'\''`; do 393 | ext="${str%%:*}" 394 | [ "$ext" != "$def_ext" ] && continue 395 | echo "$str" >> "'"$SYSTEM_EXTENSIONS_CFG"'" 396 | Set_default 397 | done 398 | fi 399 | done < "'"$SYSTEM_OPENWITH_CFG"'" 400 | sync 401 | /ebrmain/bin/iv2sh SendEventTo -1 154' > "$SYSTEM_BIN/openwith_apply.app" 402 | 403 | echo '#!/bin/sh 404 | LNG="`awk -F= '\''/^language=/ {print $2}'\'' "'"$SYSTEM_GLOBAL_CFG"'"|tr -d '\''\r'\''`" 405 | 406 | Get_word() 407 | { 408 | w="`awk -F= '\''/^'\''"$2"'\''=/ {print $2}'\'' "'"$EBRMAIN_LANG"'/${LNG:-en}.txt"|tr -d '\''\r'\''`" 409 | eval "$1=\"${w:-$2}\"" 410 | } 411 | 412 | Get_word w1 "@BrowserClearHistory" 413 | Get_word w2 "@BooksOpened" 414 | Get_word w3 "@APP_file" 415 | /ebrmain/bin/dialog 2 "" "$w1: 416 | $w2 - $w3 417 | ('"$SYSTEM_PATH/config/handlers.cfg"')?" "@Clear" 418 | [ "$?" = "1" ] && rm -f "'"$SYSTEM_PATH/config/handlers.cfg"'" && sync' > "$SYSTEM_BIN/openwith_clear.app" 419 | 420 | if [ "$fast_switch" = "1" ]; then 421 | GLOBAL_THEME="`awk -F= '/^theme=/ {print $2}' "$SYSTEM_GLOBAL_CFG"|tr -d '\r'`" 422 | current_theme="${GLOBAL_THEME:-$DEFAULT_THEME}" 423 | if [ -e "$SYSTEM_PATH/themes/$current_theme.pbt" ]; then 424 | current_theme_path="$SYSTEM_PATH/themes/$current_theme.pbt" 425 | elif [ -e "$EBRMAIN_THEME/$current_theme.pbt" ]; then 426 | current_theme_path="$EBRMAIN_THEME/$current_theme.pbt" 427 | else 428 | current_theme="$DEFAULT_THEME" 429 | current_theme_path="$EBRMAIN_THEME/$current_theme.pbt" 430 | fi 431 | cp -f "$current_theme_path" "$TEMP_THEME" 432 | current_theme_path="$TEMP_THEME" 433 | openwith_theme="${current_theme%-$OPEN_SWITCH_NAME*}-$OPEN_SWITCH_NAME" 434 | echo 'H4sIAICUMFkAA61ZDWxcxRHeZ9/ZF+eAC9jENRFdqFOckjufjVVolLZ2QhInTcI1mAaJ0PPZfvZd 435 | Od9d33sXkv6ICyRASly7xFAoWL5KtEKFqq4UqahKWrdAFVEQKT/iX72fPMWE0FolpZZKcv3m7V5u 436 | 4xiplfqs8c7Mzs7Mzs7svrd317rN6zVNY+WnirUwoubuZ6wDbXcj8Zi7g3HmQd8VrIn6U3sbGNv7 437 | kAAPE+CSUMPE2I6MAEchwC37q6kPdMceAZcxAa6KqHgyAsYaBLglj/oFT3MgA8ZeTdilfvjLHm8g 438 | 0ByYo/lIv8o+dkO+e48AzgSU+75uWwNsgac8vjUe62uND/jjsUR6V8BMBq4TfJ/0fcPWW2QsxZjP 439 | AZYAlgEul7rgHvMCLgZcCmgCLJV9n5HyCD2rA1whdbsWckp53Grs8CxS/C4/tYDFgEvmjb1M+ktr 440 | Uw+4SPI9C9j5GSB0r8DJ9ytg1LtUc/xbghn+G+0Opb9dGcsBX5tHvwKwFPkfAzIK/QzggEIvnjf+ 441 | cth/ROnvAjyh0OF58r8HTCn9vwYcVugTgKMKfTH0v6bQbwFyCv0i4JRCP6XYo3V8fh6dm0dfBP1z 442 | yvi/AVz3VegJgE+hrwEsU+jTgBaFfhDQodAM+fodytM2Ft7YsyU8oBv6UMy0dKNny9p4MqH3RPri 443 | Oksn+pPDKUM3TRYODw0nE2HTihhWOMzK/HYW3rQzvE0OXhuPmKZuCp0LaoRd0xrov/ZaMv5FIvsF 444 | pu+KWWwwmdITzLSMRP9wikX6koYFaiDm8OLoGtaHTR1ypq7fQT3JNIhU2upng/3xpKmz4Ug8nuyn 445 | Lt0w2OCdRszS2aChRwZIBWkNh8monMhwBLp3DqaMWMIaJDmdpfqsqD6sh6MYoxtsw+aNa9aG2wO0 446 | e1WhlqqcGFY5f+w86sI/0aPh734m6pWe+ljsIur5gizM00jWBhTKHLUouk+opYJD/TRgU8iCpnx+ 447 | gloU45PUQv5palHIU9SiiA9Ri+J8hlpsEoepRWFMUwuLz1GLzeUotSj2F6mFU8eoRdK9Ri2S401q 448 | sSm9Sy02oBy12HiOU4uNaIZabE6nqMVG5On0v3+EsQ88mSMzrpzfduUm7YtzoznP7O/s7jHM40+j 449 | hUUvHCh0zx62y3ingt+g4EEFb1FwruCNCu5TcI+CM4l7gM+VKvisgs8oeE7B31TwYwp+VMGnFfwZ 450 | BZ8CrrFQcbbL/z5LZfNabzaPo+BtV+fDNgu9ZvsztxSwBzdpwdfsKLu5iOVrqgLOgGNpm2pYNv8c 451 | YolVL87uOTLTuWTSdoGn+UZzhVIJ/FDxn6VSXSu7peiWer6KsVWKng/RX8W2F5EiL7gwnsaSjrPQ 452 | O1MqnWTs1iLSq+6Ur6L7z1L3CuipxlgPe9i+GjIu4F7fw/a1wH38YdvS2AdvQIeGcT+BvqfZJGyO 453 | 5r4L/HniY44GfFP9OQl/7ldsTUlbx8HXIetVZBcp9mG3occ36cYY9jJ0b/aJuWg8m38XdKei8zGp 454 | 8+/Q6YG/f0R/M5+0q/ho7i/An0D+bwbsAMx6BRwAZABjgBCgeRpzmcoWXb6J4xfBhosjl5nf9mGO 455 | viBsTfvtrbCzCfDujxjrxH6aQluPvnrYqg6O5qqCB0/QPK4stWrrYbdnhLFeJmqEQw8PklxvrgYy 456 | qJdHaCwTuOe6UmueasiHur9sqdgcVmLMSsyTxmu+3lzXkmz+p5/dk/uDb4pkPZ823ifH+zCusRMy 457 | Mr6+zJHGd+C/FswWWfA52yflm5mwwYJj5VysK+uGmjpHd+eRmbcxp0cahO5LGPmULfZArpZni6Fp 458 | EYPN0BWELu+xLQVvJ8VjNNcYmoAP4/ZnYHtZcKTg9mXzjI3b1RTn4Ij9WVo/37hdh7wnGeRXcQXa 459 | 0AEcVbA1jv3N1TZpp8jHUDb/iYz3HGzNIT4MdigPRPzHbcYP2hrG56iPP2QTj/o/OVv64BjlbJDo 460 | bHEN/Cb/PgL/sMLfKPkfgv+kwg9I/gnwxxX+KsnPg59ZQP4d8OMKf4Pkvw7+rQp/veS/DP6NCp94 461 | q9GXwhocPVs6efwB5DITselAbBoBQcAOwBjgScCLgOOAepwJ3YBTiN+pq0TcZjdg7cayeYpXC9bp 462 | TewTFFeKEUsdtCdgn/WGCjGsvadzpEA+cNivCWK9UHNsOlv0TI/YXoAPUA9oBCwDcEAz4JfQsVfu 463 | X5dgLOl+6qyo002o8zeuei+vsW1OrvVqk7bIidFclHIkM2F7MM6VGbEfxJjmLPKnM5tHfuR/CNqD 464 | vGEUl5DwxwKvTvLcoFOguQ9jyGfQadA0h2Y+YdMcSGYfeNQXRks63JSLvpFCc3DC3iv9XA4/3VKG 465 | Bd+y/agHHJV1h5BXi+Tes436UuT79iKO1Tqy44KdWhmrHeivRbtO2mk5NlKY3XBkZhPWUYNOuUc2 466 | 0XjsX007sO6LZCyWIxYnae9jlfhw8H4F3mq59y4D/TrooCKzFLwx8J7+AWNR5Aj3iFw4Dbhf5soU 467 | Dp/TgF7A6usm7dmb/O9TbnQ8O2mvRk4Ei9hvp7J5Lx9xYu/lB0/wy3C2B0WtscyDNus9aF9K8w+F 468 | Cocw98ZUJVfcmH+tzJX5udECWAkIAjoAV0PH0Uuxjyi5wuUajFGuXF3JlSeqkFNynu9BpgW5QXnh 469 | IXnYpvOBjYk1/teZ0gfkB60V5Qf5Vuus5TvOWqah71bYXSzX8q+QZxnSfWtxH61lTbb4jzMid7TP 470 | I+ehi2Lx8Rmx5pSjL1N/zfbidufTDOcly1bXsxE36KYi+hZhr61HXjHscy74QHnhYSP2S2fE/G6H 471 | XD3yhU/tLyzzPWrXZfbn6lP77WV8v12ViuRwJp508cds79QDhVp+d87DFzv+PivHV7NpnPWZApt6 472 | wOdht+U/KpVWeTntt684c/TDr12oQy+bcPbAn9O4XprjN4pr0EdxqZExonlOoZ/8IbzG8XXCform 473 | gf4JtEQ/RjKoL4qx5qzXUO5xxx92MqvEyy1r4BeSR/oYDxWIdxq5TuPvOiPq8PtnRH2spvq46cjM 474 | 3WeoPl5x6uNVnOsvIZ8PIccXy7X/Jtbx1S+7in3BLsT8vsLBa+7Jfa46k0Ps7Sy9i2CNaewDGLsP 475 | 9PdYJW9uwtgYeHFZQ18DPQG6F7SX9g3w1oP3G/BCyrgu8NbRu4fix2rwLPDG8JJPlwRUb3N4OXsG 476 | cBTQDHgTL2ObAXEkcCPaQ2g99C4PmFsrzjR6V6xCTnVnJu0ViMWNdP52IucysDEm9u3qTDS3aGw0 477 | 172H1qUnX0PvaG2PnqA41sAfnMN5Oqu1zr2Fj+HT3D1HZubuQZ0DZgBXOue4/316T6BvmXWGkTRW 478 | cbbcrGO3mJEhfRVfbvLbkikrlkzcznu6121Zx29be9PW9Rs33M5v27pue9jh3Y5M36an4pF+vVXf 479 | ZRmRfosLKZ4c5KFk/x26tSaZvIM731K8pW83H9AHI+m4tZJL+RV10LElkhiIWEljN48YQ+lhPWGZ 480 | 3EpyfC8OceGEiR6dD5+TG0wa3Iziw/Bcv5VMBuhOhHN/dCX++aN6PMWdZyBmwsfd8CJmcocNPZw+ 481 | NescecORN8REIF/G5FRiCRkBfB0m+bnJi7G6M7Y8ec7nhWHQSA6L0TTP7TEryhNJ2bmSYxJ3RvXE 482 | OUMm96/k9JXa6nyxcnydYsLGACzj67YVn7loMMuynnO+VFSdY0ltQhH8PqerrEWsHYWwLz3kxHt1 483 | 1LJS5qrW1iHoT/cF8HXfujk2FLViiaFW+UHcGjPNtG5+hULNjD7G1kYSiSQtA4yLZR6MxXXkD/or 484 | GdBDPcgv8orEIxdmBw3DGMhEIzt1nk6Y6RS5pw9cKLtTN0ysOl8+wAb08iUEMXTKZHbnPL/ElCuO 485 | qX39ycRgbEjpE7RwFUnF+2JDNNcLrTDmp5finsqkSelgMp2g+hcJSK1MCYcnUwu4jCff2R5o5y2b 486 | 0gnO23h7sO163t6+qu2Lq9qDK5j1Uemu8r3d6f14l9svcE2B3bKluwW6NwzeK+7ocj8S94V0D0r3 487 | hHQHR3eJ46CXscqdZnSPuB88fo+4D2y+W9wt0j3sYnlf0SB9oDvA8cvF7UeWiftAuqei+8mxfQJP 488 | 7RN3S5yJu0O6JzxbKiVD4JfQkq+zaBv3sf/5ebyhcou5+t7/L3iXap9qt/chxjasXbuKt/QbSdNE 489 | VsT9WzfwtkDblwLBFbwjcEOgjXXRbWZEj/TFmNYC1H29v4vV1NV2ebRFVXXVXu1SV73WoC2tbtSa 490 | qq6ovlq7UWMBM2pahhXpYwFsLrqRYgHkkB7oWrPRb0WGWCAaMaMsMLA7Ye4eFq1lsMBQIh2QJXAe 491 | EUafocdJTiCpuEWaY/hvIQ1ZYBAEupLYRiMs0LVtSwDb4MAuFtCj4UEjghp1xMMRw4jsFuJl/Fv9 492 | huNBZDjWD6tJaBNa+kyT0V5B+7bQGbEsI9aXtnTzv19byjVaAcot5/5fE/lTfsqrQ7xaKefc02si 493 | 18pP+S78KibymuQox6OQO6z0l/P/Gmmb5Cj3m4FMa5U78/L9fSsT+U9yVCvHq4WP8/27nok8JznK 494 | 8UYoukGxW74vvJGJuiCcaiPkFvNQ7dJzMxP39SRHtZVyV36TKM+DamyHIke1OOYWNeqS8yvL6VI/ 495 | 1TrtFcEasW/Mj1+vIufUCBCXdr4cwR2KHN2FdGJxsnUX6vu2Ikd7U27J+b8hlOXuZJU8mIHcDOQe 496 | r75Q7i4hl8KSid+bGoQ+7zy5Hyj6DkDuQMP5v5eU8XEmfnMhU+L3o4Xlskz8RuLshZAb/xS5p6Vd 497 | kqO7kkc+Re7XMiYkJ36XEr9JuRU5mtdvFX20B49fjsnP00fwe0XORb+9LF14fZ+XeklO3BWd7195 498 | qV+QeFDSJHfVPDmCV4Wucy61Qe66BfSVfSs/A5ArLiD3H/YonaGAHAAA'|base64 -d|gzip -d > "$SYSTEM_BIN/pbtheme-openwith" 499 | Get_reader_name fast_switch_app_name "$FAST_SWITCH_APP" 500 | Get_reader_name default_switch_app_name "$default_switch_app" 501 | Get_word default_switch_app_text "$default_switch_app_name" 502 | $SYSTEM_BIN/pbtheme-openwith -e "$current_theme_path" "$TEMP_THEME_CFG" 503 | fast_switch_shortcut_position="${FAST_SWITCH_SHORTCUT//./\\.}position=" 504 | sed -i "s/^\($fast_switch_shortcut_position.*$\)/#\1/" "$TEMP_THEME_CFG" 505 | sed -i "/^${FAST_SWITCH_SHORTCUT//./\\.}.*$/d" "$TEMP_THEME_CFG" 506 | sed -i "s/^#\($fast_switch_shortcut_position.*$\)/\1/" "$TEMP_THEME_CFG" 507 | sed -i "/^$fast_switch_shortcut_position.*$/a${FAST_SWITCH_SHORTCUT}icon.name=desktop_launcher_library" "$TEMP_THEME_CFG" 508 | sed -i "/^$fast_switch_shortcut_position.*$/a${FAST_SWITCH_SHORTCUT}focus.icon.name=desktop_launcher_library_f" "$TEMP_THEME_CFG" 509 | sed -i "/^$fast_switch_shortcut_position.*$/a${FAST_SWITCH_SHORTCUT}path=$SYSTEM_BIN/openwith_fb2.app" "$TEMP_THEME_CFG" 510 | cp -f "$TEMP_THEME_CFG" "$TEMP_THEME2_CFG" 511 | sed -i "/^$fast_switch_shortcut_position.*$/a${FAST_SWITCH_SHORTCUT}text=$FAST_SWITCH_TEXT$fast_switch_app_name" "$TEMP_THEME_CFG" 512 | $SYSTEM_BIN/pbtheme-openwith -r "$current_theme_path" "$TEMP_THEME_CFG" "$SYSTEM_PATH/themes/$openwith_theme$FAST_SWITCH_SUFFIX.pbt" 513 | sed -i "/^$fast_switch_shortcut_position.*$/a ${FAST_SWITCH_SHORTCUT}text=$FAST_SWITCH_TEXT$default_switch_app_text" "$TEMP_THEME2_CFG" 514 | $SYSTEM_BIN/pbtheme-openwith -r "$current_theme_path" "$TEMP_THEME2_CFG" "$SYSTEM_PATH/themes/$openwith_theme$DEFAULT_SWITCH_SUFFIX.pbt" 515 | rm -f "$SYSTEM_BIN/pbtheme-openwith" 516 | rm -f "$TEMP_THEME" 517 | rm -f "$TEMP_THEME_CFG" 518 | rm -f "$TEMP_THEME2_CFG" 519 | echo '#!/bin/sh 520 | LNG="`awk -F= '\''/^language=/ {print $2}'\'' "'"$SYSTEM_GLOBAL_CFG"'"|tr -d '\''\r'\''`" 521 | 522 | Get_word() 523 | { 524 | w="`awk -F= '\''/^'\''"$2"'\''=/ {print $2}'\'' "'"$EBRMAIN_LANG"'/${LNG:-en}.txt"|tr -d '\''\r'\''`" 525 | eval "$1=\"${w:-$2}\"" 526 | } 527 | 528 | Set_default() 529 | { 530 | apps="`echo "$str"|cut -d : -f4`" 531 | app_default="'"$default_switch_app"'" 532 | app_fast="'"$FAST_SWITCH_APP"'" 533 | GLOBAL_THEME="`awk -F= '\''/^theme=/ {print $2}'\'' "'"$SYSTEM_GLOBAL_CFG"'"|tr -d '\''\r'\''`" 534 | current_theme="${GLOBAL_THEME:-'"$DEFAULT_THEME"'}" 535 | change_theme="no" 536 | if [ "${current_theme%'"-$OPEN_SWITCH_NAME"'*}" != "$current_theme" ]; then 537 | change_theme="yes" 538 | if [ "${current_theme%'"-$OPEN_SWITCH_NAME$FAST_SWITCH_SUFFIX"'*}" != "$current_theme" ]; then 539 | def_app=$app_default 540 | def_app_name="'"$default_switch_app_name"'" 541 | /ebrmain/bin/iv2sh WriteConfig "'"$SYSTEM_GLOBAL_CFG"'" "theme" "${current_theme%'"-$OPEN_SWITCH_NAME"'*}'"-$OPEN_SWITCH_NAME$DEFAULT_SWITCH_SUFFIX"'" 542 | elif [ "${current_theme%'"-$OPEN_SWITCH_NAME$DEFAULT_SWITCH_SUFFIX"'*}" != "$current_theme" ]; then 543 | def_app=$app_fast 544 | def_app_name="'"$fast_switch_app_name"'" 545 | /ebrmain/bin/iv2sh WriteConfig "'"$SYSTEM_GLOBAL_CFG"'" "theme" "${current_theme%'"-$OPEN_SWITCH_NAME"'*}'"-$OPEN_SWITCH_NAME$FAST_SWITCH_SUFFIX"'" 546 | else 547 | change_theme="need" 548 | fi 549 | fi 550 | if [ "$change_theme" != "yes" ]; then 551 | if [ "${apps%%,*}" != "$app_fast" ]; then 552 | def_app=$app_fast 553 | def_app_name="'"$fast_switch_app_name"'" 554 | else 555 | def_app=$app_default 556 | def_app_name="'"$default_switch_app_name"'" 557 | fi 558 | fi 559 | new_apps="$def_app`echo ",$apps"|sed "s/,*$def_app//g"|sed s/,,*/,/g`" 560 | sed -i "s/^\($ext:.*:.*:\).*\(:.*\)$/\1$new_apps\2/" "'"$SYSTEM_EXTENSIONS_CFG"'" 561 | /ebrmain/bin/iv2sh WriteConfig "'"$SYSTEM_OPENWITH_CFG"'" "$ext" "$def_app" 562 | sync 563 | [ "$change_theme" != "no" ] && /ebrmain/bin/iv2sh SendEventTo -1 154 564 | exit 0 565 | } 566 | 567 | for str in `awk /:/ "'"$SYSTEM_EXTENSIONS_CFG"'"|tr -d '\''\r'\''`; do 568 | ext="${str%%:*}" 569 | [ "$ext" != "fb2" ] && continue 570 | Set_default 571 | done 572 | for str in `awk /:/ "'"$EBRMAIN_EXTENSIONS_CFG"'"|tr -d '\''\r'\''`; do 573 | ext="${str%%:*}" 574 | [ "$ext" != "fb2" ] && continue 575 | echo "$str" >> "'"$SYSTEM_EXTENSIONS_CFG"'" 576 | Set_default 577 | done' > "$SYSTEM_BIN/openwith_fb2.app" 578 | Get_word w1 "@ChangeWidget" 579 | Get_word w2 "@KA_srch" 580 | Get_word w3 "@Settings" 581 | Get_word w4 "@PersonalSettings" 582 | Get_word w5 "@Theme" 583 | fs_text=" 584 | $w1 \"$w2\" 585 | (\"$default_switch_app_text\"/\"$fast_switch_app_name\"): 586 | $w3->$w4-> 587 | $w5:$openwith_theme 588 | " 589 | else 590 | fs_text="" 591 | fi 592 | 593 | Get_word w1 "@Install_complete" 594 | Get_word w2 "@Delete_book" 595 | Get_word w3 "@No" 596 | /ebrmain/bin/dialog 3 "" "$w1 597 | $fs_text 598 | $w2 599 | (""$0"")" "@Yes" "> $w3 <" 600 | [ "$?" = "1" ] && rm -f "$0" 601 | 602 | sync 603 | killall settings.app 604 | # SendEventTo ALLTASKS EVT_CONFIGCHANGED 605 | /ebrmain/bin/iv2sh SendEventTo -1 154 606 | --------------------------------------------------------------------------------