Merge branch 'minergenon-remove-prefix'
This commit is contained in:
commit
e55bc209c1
62
winehelper
62
winehelper
@ -1216,6 +1216,66 @@ run_autoinstall () {
|
|||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
##### REMOVE PREFIX #####
|
||||||
|
remove_prefix() {
|
||||||
|
local prefix_name="$1"
|
||||||
|
local prefix_path="$WH_PREFIXES_DIR/$prefix_name"
|
||||||
|
|
||||||
|
if [[ -z "$prefix_name" ]]; then
|
||||||
|
print_error "Не указано имя префикса для удаления."
|
||||||
|
echo "Использование: $SCRIPT_NAME remove-prefix [имя_префикса]"
|
||||||
|
echo "Доступные префиксы:"
|
||||||
|
ls -1 "$WH_PREFIXES_DIR"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -d "$prefix_path" ]]; then
|
||||||
|
print_error "Префикс "$prefix_name" не найден."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "======================================================"
|
||||||
|
print_warning "Вы собираетесь удалить префикс "$prefix_name"."
|
||||||
|
echo "Это приведёт к:"
|
||||||
|
echo " - Полному удалению всех данных префикса"
|
||||||
|
echo " - Удалению всех программ, установленных в этом префиксе"
|
||||||
|
echo " - Удалению связанных ярлыков из меню и рабочего стола"
|
||||||
|
echo "======================================================"
|
||||||
|
read -p "Продолжить удаление? (y/N): " answer
|
||||||
|
|
||||||
|
if [[ ! "$answer" =~ ^[YyДд]$ ]]; then
|
||||||
|
print_info "Удаление префикса отменено."
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "----------------------------------------------"
|
||||||
|
print_warning " ВЫ ТОЧНО УВЕРЕНЫ?"
|
||||||
|
echo "----------------------------------------------"
|
||||||
|
read -p "Продолжить удаление? (y/N): " answer
|
||||||
|
|
||||||
|
if [[ ! "$answer" =~ ^[YyДд]$ ]]; then
|
||||||
|
print_info "Удаление префикса отменено."
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
try_remove_dir "$prefix_path"
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
print_ok "Префикс "$prefix_name" успешно удален."
|
||||||
|
|
||||||
|
for desktop_file in "$WH_MENU_DIR"/*.desktop; do
|
||||||
|
if grep -q "$prefix_path" "$desktop_file"; then
|
||||||
|
desktop_name=$(basename "$desktop_file")
|
||||||
|
remove_desktop "${desktop_name%.*}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
print_error "Не удалось удалить префикс "$prefix_name"."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
##### REMOVE WINEHELPER #####
|
##### REMOVE WINEHELPER #####
|
||||||
remove_winehelper () {
|
remove_winehelper () {
|
||||||
local answer
|
local answer
|
||||||
@ -1283,6 +1343,7 @@ wh_info () {
|
|||||||
installed список установленных программ
|
installed список установленных программ
|
||||||
run [программа.exe] запуск программы (отладка)
|
run [программа.exe] запуск программы (отладка)
|
||||||
remove удалить WineHelper и все связанные данные
|
remove удалить WineHelper и все связанные данные
|
||||||
|
remove-prefix [имя_префикса] удалить префикс и все связанные данные
|
||||||
|
|
||||||
Параметры:
|
Параметры:
|
||||||
--help показать эту справку и выйти
|
--help показать эту справку и выйти
|
||||||
@ -1317,6 +1378,7 @@ case "${1,,}" in
|
|||||||
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|--remove) remove_winehelper ;;
|
||||||
|
remove-prefix) shift ; remove_prefix "$@" ;;
|
||||||
*)
|
*)
|
||||||
if [[ -f "$1" ]] ; then
|
if [[ -f "$1" ]] ; then
|
||||||
WIN_FILE_EXEC="$(readlink -f "$1")"
|
WIN_FILE_EXEC="$(readlink -f "$1")"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user