#!/bin/sh # Evelauncher shared functions desktop_msg() { if [ -x "$(which notify-send 2>/dev/null)" ] ;then notify-send -i eve 'EVE Online Launcher' "$@" fi echo "$(basename $0): $@" } check_wine() { EVECONF=$HOME/.config/CCP/EVE.conf CUSTOMWP=$(grep CustomWinePath $EVECONF | cut -d= -f2) SHAREDIR=$(grep SharedCacheFolder $EVECONF | cut -d= -f2) UCW=$(grep UseCustomWine $EVECONF | cut -d= -f2) WINEPREFIX=${SHAREDIR}wineenv if [ "x$UCW" = "xtrue" ] ;then WINEPATH=${CUSTOMWP%/*} [ -d "${SHAREDIR}wine" ] && rm -rf ${SHAREDIR}wine else CUSTOMWP=${SHAREDIR}wine WINEPATH=${SHAREDIR}wine/bin fi if [ ! -x "$WINEPATH/wine" ] ;then desktop_msg "ERROR: \"$CUSTOMWP\" not found!" exit 1 fi INSTWINE=$(cat $WINEPREFIX/.update-timestamp 2>/dev/null) || true WINEINFP=$(readlink -f $CUSTOMWP) WINECONF=$(find ${WINEINFP%/bin*}/share -name 'wine.inf' 2>/dev/null) || true WINEDATE=$(ls -l --time-style=+%s "$WINECONF" 2>/dev/null | cut -d' ' -f6) if [ "x$WINEDATE" != "x$INSTWINE" ] ;then desktop_msg "Preparing wine in $WINEPREFIX" env WINEPREFIX=$WINEPREFIX \ WINEDEBUG=-all \ WINEDLLOVERRIDES="mscoree,mshtml,winemenubuilder.exe=d" \ $WINEPATH/wine wineboot WINETRP=$(grep -v win[x1..9] $WINEPREFIX/winetricks.log 2>/dev/null | uniq) rm $WINEPREFIX/winetricks.log 2>/dev/null || true if [ "x$WINETRP" != "x" ] ;then env WINEPREFIX=$WINEPREFIX WINE=$WINEPATH/wine \ $(which winetricks) -q --force $WINETRP >/dev/null fi env WINEPREFIX=$WINEPREFIX WINE=$WINEPATH/wine \ $(which winetricks) -q --force win10 >/dev/null fi env WINEPREFIX=$WINEPREFIX $WINEPATH/wine reg add \ 'HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations' \ /v Enable /d N /f >/dev/null }