added arg for force remove all WH data

This commit is contained in:
Mikhail Tergoev 2025-05-27 15:06:48 +03:00
parent bda5a31205
commit b684afe1ad

View File

@ -1271,54 +1271,57 @@ remove_prefix() {
##### REMOVE WINEHELPER ##### ##### REMOVE WINEHELPER #####
remove_winehelper () { remove_winehelper () {
local answer local answer
if [[ $1 =~ --force|-y ]] ; then
echo "======================================================" answer="y"
print_warning "Вы собираетесь удалить WineHelper и все связанные с ним данные." else
echo " Это удалит:" echo "======================================================"
echo " - Все настройки WineHelper" print_warning "Вы собираетесь удалить WineHelper и все связанные с ним данные."
echo " - Все приложения/программы, установленные через WineHelper" echo " Это удалит:"
echo " - Все ярлыки из меню и с рабочего стола созданные с помощью WineHelper" echo " - Все настройки WineHelper"
echo "======================================================" echo " - Все приложения/программы, установленные через WineHelper"
echo "Продолжить? (y/N)" echo " - Все ярлыки из меню и с рабочего стола созданные с помощью WineHelper"
read -r answer echo "======================================================"
if [[ "$answer" =~ ^[YyДд]$ ]]; then
# Второе подтверждение
echo "----------------------------------------------"
print_warning " ВЫ ТОЧНО УВЕРЕНЫ?"
echo "----------------------------------------------"
echo "Продолжить? (y/N)" echo "Продолжить? (y/N)"
read -r answer read -r answer
if [[ "$answer" =~ ^[YyДд]$ ]]; then if [[ "$answer" =~ ^[YyДд]$ ]] ; then
# Второе подтверждение
# Удаление рабочих каталогов echo "----------------------------------------------"
try_remove_dir "$USER_WORK_PATH" print_warning " ВЫ ТОЧНО УВЕРЕНЫ?"
echo "----------------------------------------------"
# Удаление файлов меню echo "Продолжить? (y/N)"
try_remove_dir "$WH_MENU_DIR" read -r answer
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 else
print_info "Удаление отменено." print_info "Удаление отменено."
return 1
fi 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 else
print_info "Удаление отменено." print_info "Удаление отменено."
fi fi
@ -1334,7 +1337,7 @@ wh_info () {
installed список установленных программ installed список установленных программ
run [программа.exe] запуск программы (отладка) run [программа.exe] запуск программы (отладка)
remove удалить WineHelper и все связанные данные remove-all удалить WineHelper и все связанные данные
remove-prefix [имя_префикса] удалить префикс и все связанные данные remove-prefix [имя_префикса] удалить префикс и все связанные данные
Параметры: Параметры:
@ -1369,7 +1372,7 @@ case "${1,,}" in
install|-i) shift ; run_autoinstall "$@" ;; install|-i) shift ; run_autoinstall "$@" ;;
installed) shift ; check_installed_programs "$1" ;; installed) shift ; check_installed_programs "$1" ;;
run|-r) shift ; run_installed_programs "$1" ;; run|-r) shift ; run_installed_programs "$1" ;;
remove|--remove) remove_winehelper ;; remove-all) shift ; remove_winehelper "$@ ";;
remove-prefix) shift ; remove_prefix "$@" ;; remove-prefix) shift ; remove_prefix "$@" ;;
*) *)
if [[ -f "$1" ]] ; then if [[ -f "$1" ]] ; then