summaryrefslogtreecommitdiff
path: root/src/StardewModdingAPI/unix-launcher.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/StardewModdingAPI/unix-launcher.sh')
-rw-r--r--src/StardewModdingAPI/unix-launcher.sh33
1 files changed, 29 insertions, 4 deletions
diff --git a/src/StardewModdingAPI/unix-launcher.sh b/src/StardewModdingAPI/unix-launcher.sh
index 0bfe0d5c..93e33c78 100644
--- a/src/StardewModdingAPI/unix-launcher.sh
+++ b/src/StardewModdingAPI/unix-launcher.sh
@@ -1,7 +1,7 @@
#!/bin/bash
# MonoKickstart Shell Script
# Written by Ethan "flibitijibibo" Lee
-# Modified for StardewModdingAPI by Viz
+# Modified for StardewModdingAPI by Viz and Pathoschild
# Move to script's directory
cd "`dirname "$0"`"
@@ -28,15 +28,40 @@ if [ "$UNAME" == "Darwin" ]; then
ln -sf mcs.bin.osx mcs
cp StardewValley.bin.osx StardewModdingAPI.bin.osx
- ./StardewModdingAPI.bin.osx $@
+ open -a Terminal ./StardewModdingAPI.bin.osx $@
else
+ # choose launcher
+ LAUNCHER=""
if [ "$ARCH" == "x86_64" ]; then
ln -sf mcs.bin.x86_64 mcs
cp StardewValley.bin.x86_64 StardewModdingAPI.bin.x86_64
- ./StardewModdingAPI.bin.x86_64 $@
+ LAUNCHER="./StardewModdingAPI.bin.x86_64 $@"
else
ln -sf mcs.bin.x86 mcs
cp StardewValley.bin.x86 StardewModdingAPI.bin.x86
- ./StardewModdingAPI.bin.x86 $@
+ LAUNCHER="./StardewModdingAPI.bin.x86 $@"
+ fi
+
+ # get cross-distro version of POSIX command
+ COMMAND=""
+ if command -v command 2>/dev/null; then
+ COMMAND="command -v"
+ elif type type 2>/dev/null; then
+ COMMAND="type"
+ fi
+
+ # open SMAPI in terminal
+ if $COMMAND x-terminal-emulator 2>/dev/null; then
+ x-terminal-emulator -e "$LAUNCHER"
+ elif $COMMAND gnome-terminal 2>/dev/null; then
+ gnome-terminal -e "$LAUNCHER"
+ elif $COMMAND xterm 2>/dev/null; then
+ xterm -e "$LAUNCHER"
+ elif $COMMAND konsole 2>/dev/null; then
+ konsole -e "$LAUNCHER"
+ elif $COMMAND terminal 2>/dev/null; then
+ terminal -e "$LAUNCHER"
+ else
+ $LAUNCHER
fi
fi