forked from CastroFidel/winehelper
Compare commits
6 Commits
master
...
extra_empt
Author | SHA1 | Date | |
---|---|---|---|
2401c9806a | |||
8736bb8f53 | |||
d553256a7a | |||
33dd0aa45e | |||
877689ab5e | |||
615bcdd95b |
68
winehelper
68
winehelper
@ -568,7 +568,6 @@ remove_desktop () {
|
|||||||
|
|
||||||
# Обновляем кэш desktop файлов
|
# Обновляем кэш desktop файлов
|
||||||
update-desktop-database "$HOME/.local/share/applications"
|
update-desktop-database "$HOME/.local/share/applications"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
check_installed_programs () {
|
check_installed_programs () {
|
||||||
@ -895,25 +894,33 @@ get_base_pfx () {
|
|||||||
|
|
||||||
check_prefix_var () {
|
check_prefix_var () {
|
||||||
if [[ -z "$WINEPREFIX" ]] ; then
|
if [[ -z "$WINEPREFIX" ]] ; then
|
||||||
print_warning "Префикс не выбран."
|
|
||||||
|
|
||||||
local prefixes=()
|
local prefixes=()
|
||||||
local count=1
|
local count=1
|
||||||
print_info "Доступные префиксы WineHelper:"
|
|
||||||
for prefix in "$WH_PREFIXES_DIR"/* ; do
|
for prefix in "$WH_PREFIXES_DIR"/* ; do
|
||||||
if [[ -d "$prefix" ]]; then
|
if [[ -d "$prefix" ]]; then
|
||||||
prefixes+=("$prefix")
|
prefixes+=("$prefix")
|
||||||
echo "$count. $(basename "$prefix")"
|
|
||||||
((count++))
|
((count++))
|
||||||
fi
|
fi
|
||||||
done
|
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[@]}
|
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]}"
|
export WINEPREFIX="${prefixes[$choice-1]}"
|
||||||
else
|
else
|
||||||
fatal "Неверный выбор."
|
fatal "Неверный выбор."
|
||||||
@ -1281,21 +1288,35 @@ run_autoinstall () {
|
|||||||
export INSTALL_SCRIPT INSTALL_MODE
|
export INSTALL_SCRIPT INSTALL_MODE
|
||||||
|
|
||||||
if [[ $INSTALL_SCRIPT_NAME == "list" ]] || [[ -z "$INSTALL_SCRIPT_NAME" ]] ; then
|
if [[ $INSTALL_SCRIPT_NAME == "list" ]] || [[ -z "$INSTALL_SCRIPT_NAME" ]] ; then
|
||||||
print_info "Список программ с возможностью автоматической установки:"
|
|
||||||
for list in $(ls "$WH_AUTOINSTALL_DIR") ; do
|
list_install_scripts() {
|
||||||
AI_INFO="$(grep "info_ru:" "$WH_AUTOINSTALL_DIR/$list" | awk -F"info_ru: " '{print $2}')"
|
local dir="$1"
|
||||||
AI_PROGNAME="$(grep "PROG_NAME=" "$WH_AUTOINSTALL_DIR/$list" | awk -F"PROG_NAME=" '{print $2}')"
|
local title="$2"
|
||||||
echo -e "\n$list - $AI_PROGNAME"
|
[[ ! -d "$dir" ]] || [[ -z "$(ls -A "$dir" 2>/dev/null)" ]] && return
|
||||||
echo "$AI_INFO"
|
|
||||||
done
|
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
|
echo
|
||||||
print_info "Список программ с возможностью установки из существующего дистрибутива:"
|
list_install_scripts "$WH_MANUALINSTALL_DIR" "Список программ с возможностью установки из существующего дистрибутива:"
|
||||||
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
|
|
||||||
elif [[ "$INSTALL_SCRIPT" != "0" ]] ; then
|
elif [[ "$INSTALL_SCRIPT" != "0" ]] ; then
|
||||||
source "$INSTALL_SCRIPT" "$@"
|
source "$INSTALL_SCRIPT" "$@"
|
||||||
print_info "Завершена установка $INSTALL_SCRIPT_NAME"
|
print_info "Завершена установка $INSTALL_SCRIPT_NAME"
|
||||||
@ -1308,7 +1329,7 @@ run_autoinstall () {
|
|||||||
remove_prefix() {
|
remove_prefix() {
|
||||||
export WINEPREFIX="$1"
|
export WINEPREFIX="$1"
|
||||||
if [[ -z "$WINEPREFIX" ]]
|
if [[ -z "$WINEPREFIX" ]]
|
||||||
then print_error "Не указано имя префикса для удаления!"
|
then print_warning "Не указано имя префикса для удаления. Выберите из списка..."
|
||||||
fi
|
fi
|
||||||
check_prefix_var
|
check_prefix_var
|
||||||
if [[ ! -d "$WINEPREFIX" ]]
|
if [[ ! -d "$WINEPREFIX" ]]
|
||||||
@ -1527,7 +1548,6 @@ restore_prefix() {
|
|||||||
local backup_archive_path="$1"
|
local backup_archive_path="$1"
|
||||||
local temp_extract_dir prefix_name
|
local temp_extract_dir prefix_name
|
||||||
|
|
||||||
|
|
||||||
if [[ -z "$backup_archive_path" ]] ; then
|
if [[ -z "$backup_archive_path" ]] ; then
|
||||||
read -e -p "Укажите путь к архиву резервной копии (/путь/к/архиву.whpack): " backup_archive_path
|
read -e -p "Укажите путь к архиву резервной копии (/путь/к/архиву.whpack): " backup_archive_path
|
||||||
backup_archive_path=$(echo "$backup_archive_path" | sed "s/'//g; s/\"//g")
|
backup_archive_path=$(echo "$backup_archive_path" | sed "s/'//g; s/\"//g")
|
||||||
|
Reference in New Issue
Block a user