From 997612c98d14d09fde32452251d559119598b01f Mon Sep 17 00:00:00 2001 From: Sergey Palcheh Date: Mon, 5 May 2025 13:29:04 +0600 Subject: [PATCH] remove winehelper --- winehelper | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/winehelper b/winehelper index a593cff..6338d6e 100755 --- a/winehelper +++ b/winehelper @@ -494,7 +494,6 @@ remove_desktop () { if check_command update-desktop-database ; then update-desktop-database "$HOME/.local/share/applications" fi -fi } ##### INSTALLED PROGRAMS ##### @@ -1128,6 +1127,62 @@ run_autoinstall () { echo } +##### REMOVE WINEHELPER ##### +remove_winehelper () { + local answer + + echo "======================================================" + print_warning "Вы собираетесь удалить WineHelper и все связанные с ним данные." + echo " Это удалит:" + echo " - Все настройки WineHelper" + echo " - Все приложения/программы, установленные через WineHelper" + echo " - Все ярлыки из меню и с рабочего стола созданные с помощью WineHelper" + echo "======================================================" + echo "Продолжить? (y/N)" + read -r answer + + if [[ "$answer" =~ ^[YyДд]$ ]]; then + # Второе подтверждение + echo "----------------------------------------------" + print_warning " ВЫ ТОЧНО УВЕРЕНЫ?" + echo "----------------------------------------------" + echo "Продолжить? (y/N)" + read -r answer + + if [[ "$answer" =~ ^[YyДд]$ ]]; then + + # Удаление рабочих каталогов + try_remove_dir "$USER_WORK_PATH" + + # Удаление файлов меню + try_remove_dir "$WH_MENU_DIR" + try_remove_file "$WH_MENU_CATEGORY" + try_remove_file "$WH_MENU_CONFIG" + + # Удаление desktop-файлов + for desktop_file in "$(xdg-user-dir DESKTOP)"/*.desktop; do + if grep -q "Exec=env \"$RUN_SCRIPT\"" "$desktop_file"; then + try_remove_file "$desktop_file" + fi + done + + # Обновление кэша desktop-файлов + if check_command update-desktop-database; then + update-desktop-database "$HOME/.local/share/applications" + fi + + # Удаление символических ссылок + try_remove_file "$HOME/.winehelper" + + print_info "WineHelper и все связанные данные успешно удалены." + else + print_info "Удаление отменено." + fi + else + print_info "Удаление отменено." + fi +} + wh_info () { echo "Использование: $SCRIPT_NAME [команда] @@ -1138,6 +1193,7 @@ wh_info () { installed список установленных программ run [программа.exe] запуск программы (отладка) + remove удалить WineHelper и все связанные данные Параметры: --help показать эту справку и выйти @@ -1171,6 +1227,7 @@ case "${1,,}" in install|-i) shift ; run_autoinstall "$@" ;; installed) shift ; check_installed_programs "$1" ;; run|-r) shift ; run_installed_programs "$1" ;; + remove|--remove) remove_winehelper ;; *) if [[ -f "$1" ]] ; then WIN_FILE_EXEC="$(readlink -f "$1")"