extending the remove_prefix function to remove related shortcuts
This commit is contained in:
17
winehelper
17
winehelper
@ -1268,9 +1268,6 @@ remove_prefix() {
|
||||
then print_error "Не указано имя префикса для удаления!"
|
||||
fi
|
||||
check_prefix_var
|
||||
if [[ ! -d "$WINEPREFIX" ]]
|
||||
then fatal "Префикса \"$PREFIX_NAME\" не существует!"
|
||||
fi
|
||||
|
||||
if [[ ! $2 =~ --force|-y ]] ; then
|
||||
echo "======================================================"
|
||||
@ -1287,14 +1284,20 @@ remove_prefix() {
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
try_remove_dir "$WINEPREFIX"
|
||||
|
||||
if try_remove_dir "$WINEPREFIX" ; then
|
||||
if [[ $? -eq 0 ]]; then
|
||||
print_ok "Префикс "$PREFIX_NAME" успешно удален."
|
||||
|
||||
# Ищем и удаляем все ярлыки, связанные с этим префиксом
|
||||
print_info "Поиск и удаление связанных ярлыков..."
|
||||
for desktop_file in "$WH_MENU_DIR"/*.desktop; do
|
||||
if grep -q "$WINEPREFIX" "$desktop_file"; then
|
||||
desktop_name=$(basename "$desktop_file")
|
||||
remove_desktop "${desktop_name%.*}"
|
||||
if [[ -f "$desktop_file" ]] && grep -q "$WINEPREFIX" "$desktop_file"; then
|
||||
# Извлекаем отображаемое имя (значение ключа Name=)
|
||||
display_name=$(grep -m 1 -E "^Name=" "$desktop_file" | cut -d'=' -f2-)
|
||||
if [[ -n "$display_name" ]]; then
|
||||
remove_desktop "$display_name"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
|
Reference in New Issue
Block a user