#!/bin/bash
# 完结版 2021.07.30.1635
LANG="zh_CN.UTF-8"
game_wine="/opt/durapps/a2d-packages/an-anime-game-launcher/pre-settings/runners/lutris-GE-Proton7-10-x86_64/bin/wine"
Title_Naem="创建一个新的容器"
Input_Texe=""
Input_box(){
zenity --entry --width=500 --title="$Title_Naem-输入容器的名称" --text="$Input_Texe"
}
WineNew=$(Input_box) || exit

#判断是否有相同的容器名称-------------------------------
#如果有就执行else下的命令终止脚本继续自行
#如果没有就在内部显示错误，不执行else下的命令，继续执行创建命令
#就不做循环判断技术有限

if [ ! -d "$HOME/$WineNew" ] 
then
    echo "error"
    else
    zenity --info --width=520 --title="提示错误信息" \
           --text="容器名称重复-点确定后退出-请重新创建"
    exit 0
fi
#END-判断是否有相同的容器名称-----------------------------

#----------------------------------------------------------
WineGames="/home/$USER/$WineNew"
#----------------------------------------------------------
Info_title_z="看到一个Wine设置窗口的时候点确定"
Info_ewewew(){
zenity --info --width=450 --title="$Title_Naem" --text="$Info_title_z"
}
myInfo_ewewew=$(Info_ewewew) || exit
$myInfo_ewewew
#初始化创建容器--------------------------------------------
winecfg(){
winecfg="$HOME/$WineNew/drive_c/windows/system32/winecfg.exe"
env WINEPREFIX=$WineGames "$game_wine" "$winecfg"
}
mywinecfg=$(winecfg) && mkdir -p "$HOME/$WineNew/drive_c/MyGames"
if [ ! -d "$HOME/$WineNew" ] 
then
    $mywinecfg
fi
#-end-初始化创建容器----------------------------------------

#创建启动容器配置的脚本-----------------------------------
winecfg="$HOME/$WineNew/drive_c/windows/system32/winecfg.exe"
if [ ! -f "${HOME}/$WineNew-容器设置.sh" ] 
then
cat > ${HOME}/$WineNew-容器设置.sh<<EOT
#!/bin/bash
cd "$WineGames/drive_c/windows/system32"
env WINEPREFIX=$WineGames "$game_wine" "$winecfg"
EOT
fi
chmod -R 750 "${HOME}/$WineNew-容器设置.sh"
sleep 1
#END-创建启动容器的配置脚本----------------------------------

#输出配置容器的-启动器文件-------------------------------------
if [ ! -f "${HOME}/$WineNew-容器设置.desktop" ] 
then
cat > ${HOME}/$WineNew-容器设置.desktop<<EOT
[Desktop Entry]
Name=$WineNew-容器设置
Name[zh_CN]=$WineNew-容器设置
Comment=$WineNew-容器设置
Terminal=false
Type=Application
Categories=Graphics;
StartupNotify=true
Actions=Configure;Capture;
Exec="${HOME}/$WineNew-容器设置.sh"
Icon=utilities-terminal
EOT
fi
chmod -R 750 "${HOME}/$WineNew-容器设置.desktop"
sleep 1
#END-输出配置容器的-启动器文件-------------------------------------
#####################################################################
if [ ! -d $HOME/桌面 ];then
if [ ! -f $HOME/Desktop/$WineNew-容器设置.desktop ]
then
cp -r ${HOME}/$WineNew-容器设置.desktop $HOME/Desktop
fi

else
if [ ! -f $HOME/桌面/$WineNew-容器设置.desktop ]
then
cp -r ${HOME}/$WineNew-容器设置.desktop $HOME/桌面
fi
fi
#####################################################################

Info_title="Wine容器已经创建好来，相关配置在桌面"
Info_(){
zenity --info --width=450 --title="$Title_Naem" --text="$Info_title"
}
MyInfo=$(Info_)
$MyInfo

exit 0

