Compare commits
5 Commits
0.4.7
...
daobit_pro
Author | SHA1 | Date | |
---|---|---|---|
c1791761d1 | |||
7dae7c4739 | |||
ddb644b732 | |||
d38b2ca2fb | |||
9ff0414693 |
@ -1,4 +1,4 @@
|
|||||||
# Auto-completion for winhelper
|
# Auto-completion for winehelper
|
||||||
_winehelper_completions() {
|
_winehelper_completions() {
|
||||||
local cur prev opts
|
local cur prev opts
|
||||||
COMPREPLY=()
|
COMPREPLY=()
|
||||||
|
114
auto_completion/zsh_completion/_winehelper
Normal file
114
auto_completion/zsh_completion/_winehelper
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
#compdef winehelper
|
||||||
|
# shellcheck disable=SC2034,SC2206
|
||||||
|
_winehelper() {
|
||||||
|
local -a opts wine_cmd scripts installed prefixes
|
||||||
|
|
||||||
|
opts=(
|
||||||
|
'--help[Вывести справку]'
|
||||||
|
'--version[Показать информацию о пакете и его версии]'
|
||||||
|
'--debug[Режим отладки]'
|
||||||
|
'install[Запустить скрипт установки программы]'
|
||||||
|
'installed[Список установленных программ]'
|
||||||
|
'-r[Запуск программы (отладка)]'
|
||||||
|
'-i[Запустить скрипт установки программы]'
|
||||||
|
'remove-all[Удалить WineHelper и все связанные данные]'
|
||||||
|
'--clear-pfx[Очистить префикс \[имя_префикса\]]'
|
||||||
|
'killall[Убить все процессы]'
|
||||||
|
'remove-prefix[Удалить префикс и все связанные данные]'
|
||||||
|
'backup-prefix[Создать резерную копию префикса]'
|
||||||
|
'restore-prefix[восстановить префикс из резервной копии "путь/до/whpack"]'
|
||||||
|
)
|
||||||
|
|
||||||
|
wine_cmd=(
|
||||||
|
winecfg
|
||||||
|
winereg
|
||||||
|
winefile
|
||||||
|
wineconsole
|
||||||
|
winetricks
|
||||||
|
desktop
|
||||||
|
regedit
|
||||||
|
explorer
|
||||||
|
cmd
|
||||||
|
'run[Запуск программы (отладка)]'
|
||||||
|
)
|
||||||
|
|
||||||
|
local context state line
|
||||||
|
_arguments -C \
|
||||||
|
'1:command:->cmds' \
|
||||||
|
'2:subcommand or argument:->args'
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
cmds)
|
||||||
|
_values 'winehelper options' "${opts[@]}" "${wine_cmd[@]}"
|
||||||
|
;;
|
||||||
|
args)
|
||||||
|
case $words[2] in
|
||||||
|
--debug)
|
||||||
|
_values 'wine commands' "${wine_cmd[@]}"
|
||||||
|
;;
|
||||||
|
install|-i)
|
||||||
|
_get_list_for_install
|
||||||
|
;;
|
||||||
|
run|installed)
|
||||||
|
_get_installed_list
|
||||||
|
;;
|
||||||
|
remove-prefix|backup-prefix)
|
||||||
|
_get_prefixes
|
||||||
|
;;
|
||||||
|
restore-prefix)
|
||||||
|
_files
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
_values 'winehelper options' "${opts[@]}" "${wine_cmd[@]}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
_get_prefixes () {
|
||||||
|
prefixes=( ${(f)"$(ls -1 ~/.local/share/winehelper/prefixes 2>/dev/null)"} )
|
||||||
|
|
||||||
|
if ((! ${#prefixes[@]} == 0 )); then
|
||||||
|
_values 'prefixes' "${prefixes[@]}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_get_list_for_install () {
|
||||||
|
|
||||||
|
packages=(${(f)"$(winehelper install list 2>/dev/null |
|
||||||
|
awk -F ' - ' '
|
||||||
|
/^[^ ]+ - \("/ {next}
|
||||||
|
/^[[:space:]]*$/ {next}
|
||||||
|
/^Информация:/ {next}
|
||||||
|
/^[^ ]+ - / {
|
||||||
|
name=$1;
|
||||||
|
desc=$2;
|
||||||
|
gsub(/^[[:space:]]+|[[:space:]]+$/, "", name);
|
||||||
|
gsub(/^[[:space:]]*"?|"?[[:space:]]*$/, "", desc);
|
||||||
|
if (name && desc) print name ":" desc
|
||||||
|
}
|
||||||
|
')"})
|
||||||
|
|
||||||
|
packages+=(
|
||||||
|
scadoffice:"SCAD Office"
|
||||||
|
t-flex-cad17-applications:"Приложения для T-FLEX CAD 17"
|
||||||
|
t-flex-cad17-resources:"Обучающие материалы T-FLEX CAD 17"
|
||||||
|
)
|
||||||
|
|
||||||
|
_describe 'packages' packages
|
||||||
|
}
|
||||||
|
|
||||||
|
_get_installed_list () {
|
||||||
|
installed=(
|
||||||
|
${(f)"$(grep -h 'Exec=env' ~/.local/share/winehelper/*.desktop 2>/dev/null |
|
||||||
|
awk -F'/' '{print $NF}' |
|
||||||
|
awk -F'"' '{print $1}')"}
|
||||||
|
)
|
||||||
|
|
||||||
|
if ((! ${#installed[@]} == 0 )); then
|
||||||
|
_values 'installed apps' "${installed[@]}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
compdef _winehelper winehelper
|
@ -9,23 +9,22 @@ export BASE_PFX="daobit_pfx_x86_v01"
|
|||||||
export WH_WINDOWS_VER="10"
|
export WH_WINDOWS_VER="10"
|
||||||
export WINEARCH="win32"
|
export WINEARCH="win32"
|
||||||
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
|
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
|
||||||
|
|
||||||
|
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_cs.exe"
|
||||||
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_cs"
|
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_cs"
|
||||||
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_cs/SETUP.EXE"
|
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_cs/SETUP.EXE"
|
||||||
EXE_SETUP_NAME="setup_cs.exe"
|
|
||||||
|
|
||||||
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
|
|
||||||
prepair_wine
|
prepair_wine
|
||||||
|
if try_download "https://files.daobit.ru/CSERVICE/SFX/setup_cs.exe" "${AUTOINSTALL_EXE}" ; then
|
||||||
|
|
||||||
# фикс постоянного запроса обновления Windows
|
# фикс постоянного запроса обновления Windows
|
||||||
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
|
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
|
||||||
|
|
||||||
unpack "$2" "${AUTOINSTALL_UNPACK}"
|
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}"
|
||||||
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\CSERVICE" /auto /hide
|
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\CSERVICE" /auto /hide
|
||||||
|
|
||||||
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/CSERVICE/CService32.exe"
|
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/CSERVICE/CService32.exe"
|
||||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||||
try_remove_dir "$AUTOINSTALL_UNPACK"
|
try_remove_dir "$AUTOINSTALL_UNPACK"
|
||||||
else
|
try_remove_file "$AUTOINSTALL_EXE"
|
||||||
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
|
|
||||||
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
|
|
||||||
fi
|
fi
|
@ -9,23 +9,22 @@ export BASE_PFX="daobit_pfx_x86_v01"
|
|||||||
export WH_WINDOWS_VER="10"
|
export WH_WINDOWS_VER="10"
|
||||||
export WINEARCH="win32"
|
export WINEARCH="win32"
|
||||||
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
|
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
|
||||||
|
|
||||||
|
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_rk.exe"
|
||||||
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rk"
|
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rk"
|
||||||
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rk/setup.exe"
|
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rk/setup.exe"
|
||||||
EXE_SETUP_NAME="setup_rk.exe"
|
|
||||||
|
|
||||||
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
|
|
||||||
prepair_wine
|
prepair_wine
|
||||||
|
if try_download "https://files.daobit.ru/RATLAS/SFX/setup_rk.exe" "${AUTOINSTALL_EXE}" ; then
|
||||||
|
|
||||||
# фикс постоянного запроса обновления Windows
|
# фикс постоянного запроса обновления Windows
|
||||||
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
|
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
|
||||||
|
|
||||||
unpack "$2" "${AUTOINSTALL_UNPACK}"
|
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}"
|
||||||
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RAtlas" /auto /hide
|
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RAtlas" /auto /hide
|
||||||
|
|
||||||
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RAtlas/ratlas.exe"
|
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RAtlas/ratlas.exe"
|
||||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||||
try_remove_dir "$AUTOINSTALL_UNPACK"
|
try_remove_dir "$AUTOINSTALL_UNPACK"
|
||||||
else
|
try_remove_file "$AUTOINSTALL_EXE"
|
||||||
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
|
|
||||||
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
|
|
||||||
fi
|
fi
|
@ -9,23 +9,22 @@ export BASE_PFX="daobit_pfx_x86_v01"
|
|||||||
export WH_WINDOWS_VER="10"
|
export WH_WINDOWS_VER="10"
|
||||||
export WINEARCH="win32"
|
export WINEARCH="win32"
|
||||||
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
|
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
|
||||||
|
|
||||||
|
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_ri.exe"
|
||||||
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_ri"
|
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_ri"
|
||||||
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_ri/setup.exe"
|
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_ri/setup.exe"
|
||||||
EXE_SETUP_NAME="setup_ri.exe"
|
|
||||||
|
|
||||||
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
|
|
||||||
prepair_wine
|
prepair_wine
|
||||||
|
if try_download "https://files.daobit.ru/RINFO/SFX/setup_ri.exe" "${AUTOINSTALL_EXE}" ; then
|
||||||
|
|
||||||
# фикс постоянного запроса обновления Windows
|
# фикс постоянного запроса обновления Windows
|
||||||
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
|
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
|
||||||
|
|
||||||
unpack "$2" "${AUTOINSTALL_UNPACK}"
|
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}"
|
||||||
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RInfo" /auto /hide
|
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RInfo" /auto /hide
|
||||||
|
|
||||||
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RInfo/rinfo.exe"
|
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RInfo/rinfo.exe"
|
||||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||||
try_remove_dir "$AUTOINSTALL_UNPACK"
|
try_remove_dir "$AUTOINSTALL_UNPACK"
|
||||||
else
|
try_remove_file "$AUTOINSTALL_EXE"
|
||||||
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
|
|
||||||
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
|
|
||||||
fi
|
fi
|
@ -9,23 +9,22 @@ export BASE_PFX="daobit_pfx_x86_v01"
|
|||||||
export WH_WINDOWS_VER="10"
|
export WH_WINDOWS_VER="10"
|
||||||
export WINEARCH="win32"
|
export WINEARCH="win32"
|
||||||
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
|
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
|
||||||
|
|
||||||
|
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_rt.exe"
|
||||||
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rt"
|
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rt"
|
||||||
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rt/setup.exe"
|
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rt/setup.exe"
|
||||||
EXE_SETUP_NAME="setup_rt.exe"
|
|
||||||
|
|
||||||
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
|
|
||||||
prepair_wine
|
prepair_wine
|
||||||
|
if try_download "https://files.daobit.ru/RTARIFF/SFX/setup_rt.exe" "${AUTOINSTALL_EXE}" ; then
|
||||||
|
|
||||||
# фикс постоянного запроса обновления Windows
|
# фикс постоянного запроса обновления Windows
|
||||||
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
|
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
|
||||||
|
|
||||||
unpack "$2" "${AUTOINSTALL_UNPACK}"
|
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}"
|
||||||
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RTariff" /auto /hide
|
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RTariff" /auto /hide
|
||||||
|
|
||||||
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RTariff/Tariff.exe"
|
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RTariff/Tariff.exe"
|
||||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||||
try_remove_dir "$AUTOINSTALL_UNPACK"
|
try_remove_dir "$AUTOINSTALL_UNPACK"
|
||||||
else
|
try_remove_file "$AUTOINSTALL_EXE"
|
||||||
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
|
|
||||||
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
|
|
||||||
fi
|
fi
|
Reference in New Issue
Block a user