forked from CastroFidel/winehelper
Compare commits
17 Commits
299ee7ed53
...
0.5.0
Author | SHA1 | Date | |
---|---|---|---|
|
f67c9ca3ec | ||
|
9304a5e19f | ||
|
a0be9e7ce1 | ||
|
93b8b41fcc | ||
|
d3df605806 | ||
|
3ea3fb5e53 | ||
|
80a425f421 | ||
|
8736bb8f53 | ||
|
d553256a7a | ||
|
33dd0aa45e | ||
|
877689ab5e | ||
|
418493b7b8 | ||
|
cadfe91198 | ||
|
615bcdd95b | ||
|
33a181fe4f | ||
|
dfe41ea9c2 | ||
|
e649261ff9 |
@@ -1,5 +1,13 @@
|
||||
История изменений:
|
||||
|
||||
0.5.0:
|
||||
* добавлен явный вывод отказа от ответственности и соглашения с ним
|
||||
* обновлены все скрипты для установки t-flex-*
|
||||
* добавлен wine_wh_tflex_10-9 с патчами для t-flex-*
|
||||
* добавлена поддержка новых версий wine 10.3 и выше
|
||||
* удален пакет libOSMesa из проверки на зависимости
|
||||
* другие небольшие улучшения и оптимизации скриптов
|
||||
|
||||
0.4.9:
|
||||
* добавлено автодопонение команд для zsh (zsh_completion)
|
||||
|
||||
|
@@ -4,6 +4,7 @@
|
||||
export PROG_NAME="T-FLEX CAD Учебная Версия 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
|
@@ -4,6 +4,7 @@
|
||||
export PROG_NAME="T-FLEX CAD 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
|
@@ -3,7 +3,7 @@
|
||||
########################################################################
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v01"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WH_XDG_OPEN="log"
|
||||
|
@@ -3,7 +3,7 @@
|
||||
########################################################################
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v01"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WH_XDG_OPEN="log"
|
||||
|
@@ -4,6 +4,7 @@
|
||||
export PROG_NAME="T-FLEX CAD 2D+ 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
|
@@ -4,6 +4,7 @@
|
||||
export PROG_NAME="T-FLEX DOCs 17"
|
||||
export PROG_ICON="tflexdoc"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
|
@@ -4,6 +4,7 @@
|
||||
export PROG_NAME="T-FLEX Viewer 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
|
@@ -3,7 +3,7 @@
|
||||
########################################################################
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v01"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WINEPREFIX="tflex17"
|
||||
export PROG_VERSION=""
|
||||
|
@@ -22,7 +22,7 @@ windows приложения. Подробнее по ссылке: https://www.
|
||||
# fonts-ttf-ms
|
||||
|
||||
apt-get install {i586-,}{glibc-core,libstdc++6,glibc-pthread,glibc-nss,\
|
||||
libOSMesa,libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,\
|
||||
libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,\
|
||||
libgnutls30,libGL,libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,\
|
||||
libvulkan1,libcups} || fatal "Не удалось установить зависимости."
|
||||
|
||||
|
@@ -4,6 +4,7 @@
|
||||
export PROG_NAME="T-FLEX CAD 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
|
@@ -45,6 +45,10 @@ f4cb2f380ad8887f334c6eb3c272b343ae8de327764945266e9e74f8acbac69f tflex17_pfx_x6
|
||||
# create with wine_x_tkg_10-0_amd64 (universal user: xuser)
|
||||
# winetricks isolate_home msxml6 ipamona opensymbol wenquanyi ucrtbase2019 uff unifont droid wenquanyizenhei remove_mono internal dotnet40 dotnet48 dotnet20sp2 eufonts takao d3dcompiler_47 fontsmooth=rgb vcrun2022 vlgothic andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts liberation sourcehansans baekmuk tahoma lucida
|
||||
|
||||
be09f25bb795c5f912fad2d122c68c8aed937821255f161c2d75a4773d11a044 tflex17_pfx_x64_v02.tar.xz
|
||||
# create with wine_wh_tflex_10-9_amd64
|
||||
# winetricks isolate_home msxml6 ipamona opensymbol wenquanyi ucrtbase2019 uff unifont droid wenquanyizenhei remove_mono internal dotnet40 dotnet48 dotnet20 eufonts takao d3dcompiler_47 fontsmooth=rgb vcrun2022 vlgothic andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts liberation sourcehansans baekmuk tahoma lucida
|
||||
|
||||
7edbd69b40b8ca3fb3594933c6cd37030180c494c08fd13cbd1a5b46565d65e6 ved_ctm_pfx_x86_v03.tar.xz
|
||||
# create with wine_x_tkg_10-0_amd64 (universal user: xuser)
|
||||
# winetricks isolate_home msxml6 mdac27 wsh57 jet40 vb6run mdac28 vcrun2022 msxml3 arial dotnet40 dotnet48 art2k7min vcrun6 andale comicsans courier georgia impact times trebuchet verdana webdings corefonts msls31 ie8
|
||||
|
219
winehelper
219
winehelper
@@ -39,6 +39,15 @@ fatal () {
|
||||
[[ -n "$WINESERVER" ]] && "$WINESERVER" -w
|
||||
exit 1
|
||||
}
|
||||
print_confirmation () {
|
||||
local answer
|
||||
read -p "$@ (y/N): " answer
|
||||
|
||||
if [[ ! "$answer" =~ ^[Yy]$ ]] ; then
|
||||
print_info "Отменено пользователем."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
##### CHECK VARIABLES #####
|
||||
check_variables () { [[ -z ${!1} ]] && export $1="$2" ;}
|
||||
@@ -135,6 +144,11 @@ check_variables VKD3D_VER "1.1-2602"
|
||||
|
||||
export CLOUD_URL="https://cloud.linux-gaming.ru/portproton"
|
||||
|
||||
if env | grep license_agreement_file
|
||||
then fatal "Обнаружена подмена переменной license_agreement_file!"
|
||||
else readonly license_agreement_file="$(mktemp -d)/$((RANDOM % RANDOM))"
|
||||
fi
|
||||
|
||||
##### CHECK NOEXEC FOR /HOME #####
|
||||
if mount -l | grep -E "[[:space:]]/home[[:space:]]" | grep -q "noexec" ; then
|
||||
fatal "/home примонтирован в /etc/fstab с аргументом noexec.\nЗапуск портативной версии wine не возможен из домашнего каталога."
|
||||
@@ -154,7 +168,7 @@ su_run () {
|
||||
##### CHECK DEPENDENCIES #####
|
||||
# fonts-ttf-ms
|
||||
|
||||
if ! rpm -q {i586-,}{wine,glibc-core,libstdc++6,glibc-pthread,glibc-nss,libOSMesa,\
|
||||
if ! rpm -q {i586-,}{wine,glibc-core,libstdc++6,glibc-pthread,glibc-nss,\
|
||||
libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,libgnutls30,libGL,\
|
||||
libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,libvulkan1,libcups} 1>/dev/null
|
||||
then
|
||||
@@ -298,7 +312,7 @@ read_page () {
|
||||
try_remove_file "$OUT_PAGE_TMP"
|
||||
unset OUT_PAGE_TMP
|
||||
else
|
||||
echo "Исользуй try_get_page перед read_page"
|
||||
echo "Используй try_get_page перед read_page"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -315,11 +329,46 @@ check_file_sum () {
|
||||
return 0
|
||||
else
|
||||
try_remove_file "$check_file_path"
|
||||
fatal "Хэш-сумма файла $check_file_name не совподает!"
|
||||
fatal "Хэш-сумма файла $check_file_name не совпадает!"
|
||||
fi
|
||||
}
|
||||
|
||||
print_license_agreement () {
|
||||
if [[ -f "$license_agreement_file" ]] \
|
||||
&& [[ "$(stat -c %a "$license_agreement_file" 2>/dev/null)" == "600" ]]
|
||||
then return 0
|
||||
fi
|
||||
|
||||
echo
|
||||
print_warning "Лицензионные соглашения использования сторонних компонентов:
|
||||
|
||||
Некоторые компоненты, установленные в префикс и необходимые для запуска приложений, могут
|
||||
быть защищены авторским правом или лицензионными соглашениями. Вы обязаны самостоятельно
|
||||
убедиться в законности использования этих компонентов в вашей юрисдикции.
|
||||
|
||||
Мы не несём ответственности за нарушение лицензионных соглашений, связанное с использованием
|
||||
подготовленного префикса, а так же за программное обеспечение поставляемого из сторонних источников.
|
||||
|
||||
Подтверждая продолжение установки, вы соглашаетесь что ознакомились с данным отказом от
|
||||
ответственности и принимаете все риски, связанные с использованием программного обеспечения.
|
||||
"
|
||||
|
||||
if print_confirmation "Подтвердите продолжение установки" ; then
|
||||
touch "$license_agreement_file"
|
||||
chmod 600 "$license_agreement_file"
|
||||
cleanup_laf () {
|
||||
local cleanup_laf_dir="$(dirname "$license_agreement_file")"
|
||||
rm -r "$cleanup_laf_dir" || echo "Не удалось удалить каталог $cleanup_laf_dir"
|
||||
}
|
||||
trap "cleanup_laf" EXIT
|
||||
return 0
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
try_download () {
|
||||
print_license_agreement
|
||||
local download_file_url output_file output_file_name
|
||||
download_file_url="${1// /%20}"
|
||||
output_file="$2"
|
||||
@@ -433,10 +482,10 @@ var_ld_library_path_update () {
|
||||
}
|
||||
|
||||
create_desktop () {
|
||||
local name_desktop exe_file desktop_filename icon_file
|
||||
local name_desktop exe_file desktop_filename icon_file desktop_path
|
||||
name_desktop="$1"
|
||||
exe_file="$2"
|
||||
if [[ -n $4 ]] ;
|
||||
if [[ -n $4 ]] && [[ $4 != "nocopy" ]];
|
||||
then desktop_filename="$4"
|
||||
else desktop_filename="$(basename "$exe_file" .exe | sed "s| |_|")"
|
||||
fi
|
||||
@@ -496,7 +545,6 @@ create_desktop () {
|
||||
echo "$name_desktop=${exe_file//$WINEPREFIX/}=$(basename "$icon_file")" >> "$WINEPREFIX/desktop.list"
|
||||
fi
|
||||
|
||||
|
||||
# создаем файл категории для меню
|
||||
create_new_dir "$HOME/.local/share/desktop-directories"
|
||||
if [[ ! -f "$WH_MENU_CATEGORY" ]] ; then
|
||||
@@ -531,14 +579,8 @@ EOF
|
||||
update-desktop-database "$HOME/.local/share/applications"
|
||||
|
||||
if [[ $4 != "nocopy" ]] ; then
|
||||
if [[ -n $4 ]] ; then
|
||||
local desktop_path="$(xdg-user-dir DESKTOP)/$4"
|
||||
create_new_dir "$desktop_path"
|
||||
print_info "В меню создан $desktop_filename.desktop и скопирован на рабочий стол в каталог $4"
|
||||
else
|
||||
local desktop_path="$(xdg-user-dir DESKTOP)"
|
||||
print_info "В меню и на рабочем столе создан $desktop_filename.desktop"
|
||||
fi
|
||||
desktop_path="$(xdg-user-dir DESKTOP)"
|
||||
print_info "В меню и на рабочем столе создан $desktop_filename.desktop"
|
||||
cp -f "$USER_WORK_PATH/$desktop_filename.desktop" "$desktop_path"
|
||||
else
|
||||
print_info "В меню создан $desktop_filename.desktop"
|
||||
@@ -902,25 +944,33 @@ get_base_pfx () {
|
||||
|
||||
check_prefix_var () {
|
||||
if [[ -z "$WINEPREFIX" ]] ; then
|
||||
print_warning "Префикс не выбран."
|
||||
|
||||
local prefixes=()
|
||||
local count=1
|
||||
print_info "Доступные префиксы WineHelper:"
|
||||
for prefix in "$WH_PREFIXES_DIR"/* ; do
|
||||
if [[ -d "$prefix" ]]; then
|
||||
prefixes+=("$prefix")
|
||||
echo "$count. $(basename "$prefix")"
|
||||
((count++))
|
||||
fi
|
||||
done
|
||||
|
||||
[[ ${#prefixes[@]} -eq 0 ]] && fatal "Не найдено ни одного префикса!"
|
||||
if [[ ${#prefixes[@]} -eq 0 ]]
|
||||
then fatal "Не найдено ни одного префикса!"
|
||||
else print_info "Доступные префиксы WineHelper:"
|
||||
fi
|
||||
|
||||
echo "0 - Отмена"
|
||||
|
||||
for ((i=0; i<${#prefixes[@]}; i++)); do
|
||||
echo "$((i+1)) - $(basename "${prefixes[$i]}")"
|
||||
done
|
||||
|
||||
local max_choice=${#prefixes[@]}
|
||||
read -p "Выберите префикс (1-$max_choice): " choice
|
||||
read -p "Выберите префикс (0-$max_choice): " choice
|
||||
|
||||
if [[ "$choice" -ge 1 && "$choice" -le "$max_choice" ]] ; then
|
||||
if [[ "$choice" == "0" ]]; then
|
||||
print_info "Выбор префикса отменен."
|
||||
exit 0
|
||||
elif [[ "$choice" -ge 1 && "$choice" -le "$max_choice" ]] ; then
|
||||
export WINEPREFIX="${prefixes[$choice-1]}"
|
||||
else
|
||||
fatal "Неверный выбор."
|
||||
@@ -1193,25 +1243,6 @@ init_database () {
|
||||
}
|
||||
|
||||
prepair_wine () {
|
||||
if [[ -n "$INSTALL_SCRIPT_NAME" ]] \
|
||||
&& [[ "$FORCE_INSTALL" != "1" ]]
|
||||
then
|
||||
print_warning "Лицензионные соглашения использования сторонних компонентов:
|
||||
|
||||
Некоторые компоненты, установленные в префикс и необходимые для запуска приложений, могут
|
||||
быть защищены авторским правом или лицензионными соглашениями. Вы обязаны самостоятельно
|
||||
убедиться в законности использования этих компонентов в вашей юрисдикции.
|
||||
|
||||
Мы не несём ответственности за нарушение лицензионных соглашений, связанное с использованием
|
||||
подготовленного префикса.
|
||||
|
||||
Продолжая использовать данное ПО вы подтверждаете, что ознакомились с данным отказом от
|
||||
ответственности и принимаете все риски, связанные с его использованием.
|
||||
"
|
||||
print_info "Для продолжения нажмите любую клавишу на клавиатуре."
|
||||
read -s -n 1
|
||||
fi
|
||||
|
||||
var_winedlloverride_update "winemenubuilder.exe=d"
|
||||
|
||||
if [[ -n "$INSTALL_SCRIPT_NAME" ]]
|
||||
@@ -1288,21 +1319,35 @@ run_autoinstall () {
|
||||
export INSTALL_SCRIPT INSTALL_MODE
|
||||
|
||||
if [[ $INSTALL_SCRIPT_NAME == "list" ]] || [[ -z "$INSTALL_SCRIPT_NAME" ]] ; then
|
||||
print_info "Список программ с возможностью автоматической установки:"
|
||||
for list in $(ls "$WH_AUTOINSTALL_DIR") ; do
|
||||
AI_INFO="$(grep "info_ru:" "$WH_AUTOINSTALL_DIR/$list" | awk -F"info_ru: " '{print $2}')"
|
||||
AI_PROGNAME="$(grep "PROG_NAME=" "$WH_AUTOINSTALL_DIR/$list" | awk -F"PROG_NAME=" '{print $2}')"
|
||||
echo -e "\n$list - $AI_PROGNAME"
|
||||
echo "$AI_INFO"
|
||||
done
|
||||
|
||||
list_install_scripts() {
|
||||
local dir="$1"
|
||||
local title="$2"
|
||||
[[ ! -d "$dir" ]] || [[ -z "$(ls -A "$dir" 2>/dev/null)" ]] && return
|
||||
|
||||
print_info "$title"
|
||||
|
||||
awk '
|
||||
FNR==1 {
|
||||
if (progname) {
|
||||
printf "\n%s - %s\n%s\n", filename, progname, info
|
||||
}
|
||||
progname=""; info=""; filename=FILENAME
|
||||
sub(".*/", "", filename)
|
||||
}
|
||||
/info_ru:/ { sub(/.*info_ru: /, ""); info=$0 }
|
||||
/PROG_NAME=/ { sub(/.*PROG_NAME=/, ""); progname=$0 }
|
||||
END {
|
||||
if (progname) {
|
||||
printf "\n%s - %s\n%s\n", filename, progname, info
|
||||
}
|
||||
}
|
||||
' "$dir"/*
|
||||
}
|
||||
|
||||
list_install_scripts "$WH_AUTOINSTALL_DIR" "Список программ с возможностью автоматической установки:"
|
||||
echo
|
||||
print_info "Список программ с возможностью установки из существующего дистрибутива:"
|
||||
for list in $(ls "$WH_MANUALINSTALL_DIR") ; do
|
||||
AI_INFO="$(grep "info_ru:" "$WH_MANUALINSTALL_DIR/$list" | awk -F"info_ru: " '{print $2}')"
|
||||
AI_PROGNAME="$(grep "PROG_NAME=" "$WH_MANUALINSTALL_DIR/$list" | awk -F"PROG_NAME=" '{print $2}')"
|
||||
echo -e "\n$list - $AI_PROGNAME"
|
||||
echo "$AI_INFO"
|
||||
done
|
||||
list_install_scripts "$WH_MANUALINSTALL_DIR" "Список программ с возможностью установки из существующего дистрибутива:"
|
||||
elif [[ "$INSTALL_SCRIPT" != "0" ]] ; then
|
||||
source "$INSTALL_SCRIPT" "$@"
|
||||
print_info "Завершена установка $INSTALL_SCRIPT_NAME"
|
||||
@@ -1315,7 +1360,7 @@ run_autoinstall () {
|
||||
remove_prefix() {
|
||||
export WINEPREFIX="$1"
|
||||
if [[ -z "$WINEPREFIX" ]]
|
||||
then print_error "Не указано имя префикса для удаления!"
|
||||
then print_warning "Не указано имя префикса для удаления. Выберите из списка..."
|
||||
fi
|
||||
check_prefix_var
|
||||
if [[ ! -d "$WINEPREFIX" ]]
|
||||
@@ -1330,11 +1375,8 @@ remove_prefix() {
|
||||
echo " - Удалению всех программ, установленных в этом префиксе"
|
||||
echo " - Удалению связанных ярлыков из меню и рабочего стола"
|
||||
echo "======================================================"
|
||||
read -p "Продолжить удаление? (y/N): " answer
|
||||
|
||||
if [[ ! "$answer" =~ ^[YyДд]$ ]]; then
|
||||
print_info "Удаление префикса отменено."
|
||||
return 0
|
||||
if ! print_confirmation "Продолжить удаление?"
|
||||
then exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1367,48 +1409,40 @@ remove_winehelper () {
|
||||
echo " - Все приложения/программы, установленные через WineHelper"
|
||||
echo " - Все ярлыки из меню и с рабочего стола созданные с помощью WineHelper"
|
||||
echo "======================================================"
|
||||
echo "Продолжить? (y/N)"
|
||||
read -r answer
|
||||
|
||||
if [[ "$answer" =~ ^[YyДд]$ ]] ; then
|
||||
# Второе подтверждение
|
||||
if print_confirmation "Продолжить?" ; then
|
||||
echo "----------------------------------------------"
|
||||
print_warning " ВЫ ТОЧНО УВЕРЕНЫ?"
|
||||
echo "----------------------------------------------"
|
||||
echo "Продолжить? (y/N)"
|
||||
read -r answer
|
||||
if ! print_confirmation "Продолжить?"
|
||||
then exit 1
|
||||
fi
|
||||
else
|
||||
print_info "Удаление отменено."
|
||||
return 1
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$answer" =~ ^[YyДд]$ ]] ; then
|
||||
# Удаление рабочих каталогов
|
||||
try_remove_dir "$USER_WORK_PATH"
|
||||
# Удаление рабочих каталогов
|
||||
try_remove_dir "$USER_WORK_PATH"
|
||||
|
||||
# Удаление файлов меню
|
||||
try_remove_dir "$WH_MENU_DIR"
|
||||
try_remove_file "$WH_MENU_CATEGORY"
|
||||
try_remove_file "$WH_MENU_CONFIG"
|
||||
# Удаление файлов меню
|
||||
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-файлов
|
||||
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-файлов
|
||||
update-desktop-database "$HOME/.local/share/applications"
|
||||
# Обновление кэша desktop-файлов
|
||||
update-desktop-database "$HOME/.local/share/applications"
|
||||
|
||||
# Удаление символических ссылок
|
||||
try_remove_file "$HOME/.winehelper"
|
||||
# Удаление символических ссылок
|
||||
try_remove_file "$HOME/.winehelper"
|
||||
|
||||
print_info "WineHelper и все связанные данные успешно удалены."
|
||||
else
|
||||
print_info "Удаление отменено."
|
||||
fi
|
||||
print_info "WineHelper и все связанные данные успешно удалены."
|
||||
}
|
||||
|
||||
create_base_pfx () {
|
||||
@@ -1592,10 +1626,7 @@ restore_prefix() {
|
||||
|
||||
print_info "Восстановление ярлыков для префикса $prefix_name..."
|
||||
export RESTORE_FROM_BACKUP="1" # Устанавливаем флаг восстановления
|
||||
while IFS='=' read -r line; do
|
||||
local name_desktop=$(echo "$line" | cut -d'=' -f1)
|
||||
local exe_path=$(echo "$line" | cut -d'=' -f2)
|
||||
local icon_name=$(echo "$line" | cut -d'=' -f3)
|
||||
while IFS='=' read -r name_desktop exe_path icon_name ; do
|
||||
|
||||
local full_exe_path="$WH_PREFIXES_DIR/$prefix_name${exe_path}"
|
||||
local full_icon_path="$WH_PREFIXES_DIR/$prefix_name/icons/$icon_name"
|
||||
|
Reference in New Issue
Block a user