mirror of
https://gitee.com/spark-store-project/spark-wine
synced 2026-06-23 06:33:53 +08:00
56 lines
2.0 KiB
Plaintext
Executable File
56 lines
2.0 KiB
Plaintext
Executable File
#!/bin/bash
|
|
|
|
# ===== Log Functions with Colors =====
|
|
log.warn() { echo -e "[\e[33mWARN\e[0m]: \e[1m$*\e[0m"; }
|
|
log.error() { echo -e "[\e[31mERROR\e[0m]: \e[1m$*\e[0m"; }
|
|
log.info() { echo -e "[\e[96mINFO\e[0m]: \e[1m$*\e[0m"; }
|
|
log.debug() { echo -e "[\e[32mDEBUG\e[0m]: \e[1m$*\e[0m"; }
|
|
|
|
# Zenity wrapper function
|
|
gui_dialog() {
|
|
if command -v garma &>/dev/null; then
|
|
garma "$@"
|
|
else
|
|
zenity "$@"
|
|
fi
|
|
}
|
|
|
|
# Check if no arguments were passed
|
|
if [[ $# -eq 0 ]]; then
|
|
gui_dialog --info --text="使用方法:\nUsage:\n\nspark-wine <application.exe>\n\n请提供要运行的 Windows 应用程序。\nPlease provide the Windows application to run."
|
|
exit 1
|
|
fi
|
|
|
|
# Check if spark-wine is installed
|
|
if ! command -v spark-wine &>/dev/null; then
|
|
gui_dialog --question --text="您尚未安装 spark-wine ,是否安装以运行 Windows 应用?\nYou haven't installed spark-wine yet. Would you like to install it to run Windows applications?"
|
|
if [[ $? -ne 0 ]]; then
|
|
log.error "User refused to install. Exiting."
|
|
exit 1
|
|
fi
|
|
|
|
|
|
# Install spark-wine with progress indicator
|
|
pkexec bash -c "aptss update && aptss install spark-wine spark-wine-mono -y" | gui_dialog --progress --pulsate --auto-close --no-cancel --text="正在安装,请保持网络畅通,耐心等待\nInstalling, please keep network connection and wait patiently"
|
|
INSTALL_STATUS=${PIPESTATUS[0]}
|
|
|
|
# Check the installation status correctly
|
|
if [[ $INSTALL_STATUS -ne 0 ]]; then
|
|
gui_dialog --error --text="安装出错,请手动执行以下指令查看错误并反馈:\nError occurred during installation. Please execute the command below to view the error log:\n\nsudo aptss install spark-wine spark-wine-mono -y"
|
|
exit 1
|
|
fi
|
|
|
|
|
|
fi
|
|
|
|
# Run spark-wine with WINEPREFIX
|
|
export WINEPREFIX="$HOME/.wine"
|
|
export APPRUN_CMD="spark-wine"
|
|
export SHELL_DIR="/opt/spark-dwine-helper"
|
|
if [[ ! -e "$WINEPREFIX" ]];then
|
|
${APPRUN_CMD} wineboot
|
|
fi
|
|
|
|
${SHELL_DIR}/spark-dwine-helper/scale-set-helper/set-wine-scale.sh ${WINEPREFIX}
|
|
${APPRUN_CMD} "$@"
|