added arg for force remove all WH data
This commit is contained in:
		
							
								
								
									
										91
									
								
								winehelper
									
									
									
									
									
								
							
							
						
						
									
										91
									
								
								winehelper
									
									
									
									
									
								
							| @@ -1271,54 +1271,57 @@ remove_prefix() { | ||||
| ##### 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 "----------------------------------------------" | ||||
|     if [[ $1 =~ --force|-y ]] ; then | ||||
|         answer="y" | ||||
|     else | ||||
|         echo "======================================================" | ||||
|         print_warning "Вы собираетесь удалить WineHelper и все связанные с ним данные." | ||||
|         echo " Это удалит:" | ||||
|         echo " - Все настройки WineHelper" | ||||
|         echo " - Все приложения/программы, установленные через WineHelper" | ||||
|         echo " - Все ярлыки из меню и с рабочего стола созданные с помощью WineHelper" | ||||
|         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 и все связанные данные успешно удалены." | ||||
|         if [[ "$answer" =~ ^[YyДд]$ ]] ; then | ||||
|             # Второе подтверждение | ||||
|             echo "----------------------------------------------" | ||||
|             print_warning " ВЫ ТОЧНО УВЕРЕНЫ?" | ||||
|             echo "----------------------------------------------" | ||||
|             echo "Продолжить? (y/N)" | ||||
|             read -r answer | ||||
|         else | ||||
|             print_info "Удаление отменено." | ||||
|             return 1 | ||||
|         fi | ||||
|     fi | ||||
|  | ||||
|     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 | ||||
| @@ -1334,7 +1337,7 @@ wh_info () { | ||||
|  | ||||
|     installed                     список установленных программ | ||||
|     run [программа.exe]           запуск программы (отладка) | ||||
|     remove                        удалить WineHelper и все связанные данные | ||||
|     remove-all                    удалить WineHelper и все связанные данные | ||||
|     remove-prefix [имя_префикса]  удалить префикс и все связанные данные | ||||
|  | ||||
| Параметры: | ||||
| @@ -1369,7 +1372,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 ;; | ||||
|     remove-all) shift ; remove_winehelper "$@ ";; | ||||
|     remove-prefix) shift ; remove_prefix "$@" ;; | ||||
|     *) | ||||
|         if [[ -f "$1" ]] ; then | ||||
|   | ||||
		Reference in New Issue
	
	Block a user