diff --git a/winehelper b/winehelper index 53d3a1c..3f2ee03 100755 --- a/winehelper +++ b/winehelper @@ -14,12 +14,14 @@ if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then RUN_SCRIPT="/usr/bin/$SCRIPT_NAME" DATA_PATH="/usr/share/$SCRIPT_NAME" CHANGELOG_FILE="$(realpath "/usr/share/doc/winehelper"-*/CHANGELOG)" + WH_ICON_PATH="$DATA_PATH/image/gui/winehelper.svg" else # переменные для тестового запуска WineHelper из репозитория USER_WORK_PATH="$HOME/test-$SCRIPT_NAME" RUN_SCRIPT="$(realpath "$0")" DATA_PATH="$(dirname "$RUN_SCRIPT")" CHANGELOG_FILE="$DATA_PATH/CHANGELOG" + WH_ICON_PATH="$DATA_PATH/image/gui/winehelper-devel.svg" # минимальная проверка синтаксиса скриптов for self_check_script in "$RUN_SCRIPT" \ @@ -30,17 +32,33 @@ else done fi +if [[ $1 == "gui" ]] ; then + export WH_USE_GUI="1" + /usr/bin/env python3 "$DATA_PATH/winehelper_gui.py" & + exit 0 +fi + ##### MESSAGES FUNCTIONS ##### -print_error () { printf "\E[31m%s Ошибка: $@ %s\e[0m\n" ;} -print_warning () { printf "\E[33m%s Предупреждение: $@ %s\e[0m\n" ;} -print_info () { printf "\E[36m%s Информация: \"$@\" %s\e[0m\n" ;} -print_ok () { printf "\E[35m%s Успех: $@ %s\e[0m\n" ;} +if [[ $WH_USE_GUI != "1" ]] ; then + print_error () { printf "\E[31m%s Ошибка: $@ %s\e[0m\n" ;} + print_warning () { printf "\E[33m%s Предупреждение: $@ %s\e[0m\n" ;} + print_info () { printf "\E[36m%s Информация: \"$@\" %s\e[0m\n" ;} + print_ok () { printf "\E[35m%s Успех: $@ %s\e[0m\n" ;} +else + print_error () { echo -e "Ошибка: $@" ;} + print_warning () { echo -e "Предупреждение: $@" ;} + print_info () { echo -e "Информация: \"$@\"" ;} + print_ok () { echo -e "Успех: $@" ;} +fi + print_var () { for vp in $@ ; do echo "${vp}=${!vp}" ; done ;} + fatal () { print_error "$@" [[ -n "$WINESERVER" ]] && "$WINESERVER" -w exit 1 } + print_confirmation () { local answer read -p "$@ (y/N): " answer @@ -331,7 +349,7 @@ check_file_sum () { return 0 else try_remove_file "$check_file_path" - fatal "Хэш-сумма файла $check_file_name не совпадает!" + fatal "Хэш-сумма файла $check_file_name не совпадает!\n Попробуйте перезапустить установку." fi } @@ -370,7 +388,11 @@ print_license_agreement () { } try_download () { - print_license_agreement + if [[ $WH_USE_GUI == "1" ]] \ + && [[ $(ps -o command= -p "$PPID" | awk '{print $2}') =~ "$DATA_PATH/winehelper_gui.py" ]] + then print_ok "Соглашения приняты из графического интерфейса." + else print_license_agreement + fi local download_file_url output_file output_file_name download_file_url="${1// /%20}" output_file="$2"