Advertisement
TehCAKE

#!/bin/bash

Nov 8th, 2011
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 20.92 KB | None | 0 0
  1. #!/bin/bash
  2. # Last changes made on "Sat,Nov,12th"
  3. #    _______         __ __   __ __         __        __
  4. #   |   |   |.--.--.|  |  |_|__|  |_.----.|__|.----.|  |--.-----.
  5. #   |       ||  |  ||  |   _|  |   _|   _||  ||  __||    <|__ --|
  6. #   |__|_|__||_____||__|____|__|____|__|  |__||____||__|__|_____| [WIP] Version 0.2g
  7. #
  8. ########################################################################################
  9. # http://tehcakeswineblog.wordpress.com ######################################
  10. ####################################################################
  11.  
  12.         IFS=$'
  13.         '
  14.  
  15. #       ICON=$''
  16. #       echo $ICON | base64 -d > $HOME/.cache/multitricks/temp/icon.png
  17.  
  18.         USER=$(whoami)
  19.         echo "[INFO] Running Multitricks Version 0.2g as: $USER"
  20.  
  21.         while true; do
  22.             AGREE=$(zenity --width="300" --height="200" --list --column "" --title="Argee to use Multitricks?" --text "Choose Your Destiny?" \
  23.             "Run Multitricks" \
  24.             "Exit ")
  25.  
  26.         case "${AGREE}" in
  27.  
  28.           "Run Multitricks")
  29.  
  30.         while true; do
  31.             MENU=$(zenity --width="800" --height="425" --list --column "Option" --column "Description" --column "Root" --title="If a Genie granted you three wishes, what would you wish for?" \
  32.                                                                    --text "What would you like, to do $USER? Your wish is my command." \
  33.             "Create a WINEPREFIX" "(A simple way to create new wineprefixes)" "(NO)" \
  34.             "Remove a WINEPREFIX" "(A simple way to remove wineprefixes)" "(NO)" \
  35.             "Install winetricks" "(Installs winetricks into /usr/local/bin)" "(YES)" \
  36.             "Run winetricks" "(Run winetricks over multiple wine versions and prefixes)" "(NO)" \
  37.                 "Install a winetricks .verb" "(Install a .verb with multiple wine versions and prefixes)" "(NO)" \
  38.             "Delete winetricks .cache" "(Removes files in $HOME/.cache/winetricks)" "(NO)" \
  39.             "Install a windows .exe" "(Install a windows .exe with a selected wine version in a selected prefix)" "(NO)" \
  40.             "Install a windows .msi" "(Install a windows .msi with a selected wine version in a selected prefix)" "(NO)" \
  41.             "Run an application" "(Run a selected application over multiple wine versions and prefixes)" "(NO)" \
  42.             "Run a batch script" "(Run a selected batch script with multiple wine versions and prefixes)" "(NO)" \
  43.             "Run a steam game" "(Run Steam Games over multiple wine versions and prefixes)" "(NO)" \
  44.             "Run a debug trace" "(Run debug trace on a selected program and wine version in a selected prefix)" "(NO)" \
  45.             "Back")
  46.  
  47.         case "${MENU}" in
  48.  
  49.           "Create a WINEPREFIX")
  50.  
  51.         echo "[INFO] Create a WINEPREFIX"
  52.  
  53.         WINE_DIR=$(zenity --file-selection --directory --title="Select Wine Binary Directory" --window-icon="info")
  54.         case $? in
  55.              0)
  56.                 echo "[INFO] Selected BINARY directory: $WINE_DIR";;
  57.              1)
  58.                 echo "[INFO] No Binary Directory selected" &&
  59.                 exit ;;
  60.             -1)
  61.                 echo "[INFO] No Binary Directory selected" &&
  62.                 exit ;;
  63.         esac
  64.  
  65.         WINE_VER=$(ls -Q $WINE_DIR)
  66.  
  67.         SELECTED_VER=$(eval zenity --width="400" --height="500" --list --column="Version" $WINE_VER --title="" --window-icon="info")
  68.         echo "[INFO] Selected BINARY version: $SELECTED_VER"
  69.  
  70.         PREFIX_DIR=$(zenity --file-selection --directory --title="Select Wine Prefix Directory" --window-icon="info")
  71.         case $? in
  72.              0)
  73.                 echo "[INFO] Selected PREFIX directory: $PREFIX_DIR";;
  74.              1)
  75.                 echo "[INFO] No PREFIX Directory selected" &&
  76.                 exit ;;
  77.             -1)
  78.                 echo "[INFO] No PREFIX Directory selected" &&
  79.                 exit ;;
  80.         esac
  81.  
  82.         PREFIX_NAME=$(zenity --width="350" --height="100" --entry --entry-text "" --title="" --text="Enter a _prefix name:")
  83.         echo "[INFO] Creating PREFIX: $PREFIX_NAME"
  84.  
  85.         echo "[INFO] WINEBINARY=PATH: $WINE_DIR/$SELECTED_VER/wine"
  86.         echo "[INFO] WINEPREFIX=PATH: $PREFIX_DIR/$PREFIX_NAME"
  87.  
  88.         if [ -z "$1" ] ; then zenity --notification --window-icon="info" --text="Creating the prefix: $PREFIX_DIR/$PREFIX_NAME";
  89.           fi
  90.  
  91.             export WINEPREFIX="$PREFIX_DIR/$PREFIX_NAME"
  92.             $WINE_DIR/$SELECTED_VER/wine winecfg
  93.  
  94.         clear
  95.           ;;
  96.  
  97.           "Remove a WINEPREFIX")
  98.  
  99.         echo "[INFO] Remove a WINEPREFIX"
  100.  
  101.         PREFIX_DIR=$(zenity --file-selection --directory --title="Select Wine Prefix Directory" --window-icon="info")
  102.         case $? in
  103.              0)
  104.                 echo "[INFO] Selected PREFIX directory: $PREFIX_DIR";;
  105.              1)
  106.                 echo "[INFO] No PREFIX Directory selected" &&
  107.                 exit ;;
  108.             -1)
  109.                 echo "[INFO] No PREFIX Directory selected" &&
  110.                 exit ;;
  111.         esac
  112.  
  113.         PREFIX=$(ls -Q $PREFIX_DIR)
  114.  
  115.         SELECTED_PREFIX=$(eval zenity --width="400" --height="500" --list --column="Prefix" $PREFIX --title="" --window-icon="info")
  116.         echo "[INFO] Selected PREFIX: $SELECTED_PREFIX"
  117.  
  118.         echo "[INFO] Removing WINEPREFIX: $PREFIX_DIR/$SELECTED_PREFIX"
  119.  
  120.         zenity --question --text="Are you sure you wish to proceed?"
  121.  
  122.         if [ -z "$1" ] ; then zenity --notification --window-icon="info" --text="Removing WINEPREFIX: $PREFIX_DIR/$SELECTED_PREFIX";
  123.           fi
  124.  
  125.             rm -r "$PREFIX_DIR/$SELECTED_PREFIX"
  126.  
  127.         clear
  128.           ;;
  129.  
  130.           "Install winetricks")
  131.  
  132.         # Testing C Style Functions.
  133.         # Fuctions are fun :)
  134.  
  135.         WinetricksInstallStable ()
  136.         {
  137.             FILE=/usr/local/bin/winetricks
  138.  
  139.             if [ -f $FILE ];
  140.             then
  141.             echo "[CHECKING] If file $FILE exists"
  142.             echo "[INFO] Winetricks already exists in /usr/local/bin"
  143.  
  144.             else
  145.             echo "[CHECKING] If file $FILE exists"
  146.             echo "[INFO] Winetricks does not exists in /usr/local/bin"
  147.  
  148.             wget -q "http://winetricks.org/winetricks" &&
  149.             chmod +x winetricks &&
  150.  
  151.             echo "[ACTION] Winetricks will be installed in /usr/local/bin"
  152.             echo "[ACTION] please provide root password!"
  153.  
  154.             PASSWORD=$(zenity --password --title="Root permission needed." --text="")
  155.             echo $PASSWORD | su -c "mv winetricks /usr/local/bin" &&
  156.  
  157.             export TMOUT=1
  158.  
  159.             echo "[INFO] Winetricks has been installed to /usr/local/bin/winetricks"
  160.             echo "[INFO] Logged out ROOT! running as: $USER"
  161.             fi
  162.         }
  163.  
  164.         WinetricksInstallDev ()
  165.         {
  166.             FILE=/usr/local/bin/winetricks
  167.  
  168.             if [ -f $FILE ];
  169.             then
  170.             echo "[CHECKING] If file $FILE exists"
  171.             echo "[INFO] Winetricks already exists in /usr/local/bin"
  172.  
  173.             else
  174.             echo "[CHECKING] If file $FILE exists"
  175.             echo "[INFO] Winetricks does not exists in /usr/local/bin"
  176.  
  177.             wget -q "http://winetricks.googlecode.com/svn/trunk/src/" &&
  178.             chmod +x winetricks &&
  179.  
  180.             echo "[ACTION] Winetricks will be installed in /usr/local/bin"
  181.             echo "[ACTION] please provide root password!"
  182.  
  183.             PASSWORD=$(zenity --password --title="Root permission needed." --text="")
  184.             echo $PASSWORD | su -c "mv winetricks /usr/local/bin" &&
  185.  
  186.             export TMOUT=1
  187.  
  188.             echo "[INFO] Winetricks has been installed to /usr/local/bin/winetricks"
  189.             echo "[INFO] Logged out ROOT! running as: $USER"
  190.             fi
  191.         }
  192.  
  193.         while true; do
  194.             SUB_MENU=$(zenity  --width 475 --height 225 --list --column "Option" --column "Description" \
  195.             "Stable" "(Installs the current stable winetricks release.)" \
  196.             "Development" "(Installs the latest development winetricks release.)" \
  197.             "Exit")
  198.  
  199.                 if [ "$SUB_MENU" = "Exit" ]; then
  200.                 echo done
  201.                 exit
  202.  
  203.                 elif [ "$SUB_MENU" = "Stable" ]; then
  204.                     WinetricksInstallStable
  205.  
  206.                 elif [ "$SUB_MENU" = "Development" ]; then
  207.                     WinetricksInstallDev
  208.                 else
  209.                 clear
  210.             fi
  211.             done
  212.  
  213.           ;;
  214.  
  215.           "Run winetricks")
  216.  
  217.         echo "[INFO] Run Winetricks"
  218.  
  219.         WINE_DIR=$(zenity --file-selection --directory --title="Select Wine Binary Directory" --window-icon="info")
  220.         case $? in
  221.              0)
  222.                 echo "[INFO] Selected BINARY directory: $WINE_DIR";;
  223.              1)
  224.                 echo "[INFO] No Binary Directory selected" &&
  225.                 exit ;;
  226.             -1)
  227.                 echo "[INFO] No Binary Directory selected" &&
  228.                 exit ;;
  229.         esac
  230.  
  231.         WINE_VER=$(ls -Q $WINE_DIR)
  232.  
  233.         SELECTED_VER=$( eval zenity --width="400" --height="500" --list --column="Version" $WINE_VER --title="" --window-icon="info")
  234.         echo "[INFO] Selected BINARY version: $SELECTED_VER"
  235.  
  236.         PREFIX_DIR=$(zenity --file-selection --directory --title="Select Wine Prefix Directory" --window-icon="info")
  237.         case $? in
  238.              0)
  239.                 echo "[INFO] Selected PREFIX directory: $PREFIX_DIR";;
  240.              1)
  241.                 echo "[INFO] No PREFIX Directory selected" &&
  242.                 exit ;;
  243.             -1)
  244.                 echo "[INFO] No PREFIX Directory selected" &&
  245.                 exit ;;
  246.         esac
  247.  
  248.         PREFIX=$(ls -Q $PREFIX_DIR)
  249.  
  250.         SELECTED_PREFIX=$(eval zenity --width="400" --height="500" --list --column="Prefix" $PREFIX --title="" --window-icon="info")
  251.         echo "[INFO] Selected PREFIX: $SELECTED_PREFIX"
  252.  
  253.         echo "[INFO] WINEBINARY=PATH: $WINE_DIR/$SELECTED_VER/wine"
  254.         echo "[INFO] WINEPREFIX=PATH: $PREFIX_DIR/$SELECTED_PREFIX"
  255.         echo "[OUTPUT] from winetricks"
  256.  
  257.         if [ -z "$1" ] ; then zenity --notification --window-icon="info" --text="Running Winetricks on $PREFIX_DIR/$SELECTED_PREFIX";
  258.           fi
  259.  
  260.             export WINEPREFIX="$PREFIX_DIR/$SELECTED_PREFIX"
  261.             WINE=$WINE_DIR/$SELECTED_VER/wine winetricks
  262.  
  263.         clear
  264.           ;;
  265.  
  266.           "Install a winetricks .verb")
  267.  
  268.         echo "[INFO] Install Winetricks .verb"
  269.  
  270.         WINE_DIR=$(zenity --file-selection --directory --title="Select Wine Binary Directory" --window-icon="info")
  271.         case $? in
  272.              0)
  273.                 echo "[INFO] Selected BINARY directory: $WINE_DIR";;
  274.              1)
  275.                 echo "[INFO] No Binary Directory selected" &&
  276.                 exit ;;
  277.             -1)
  278.                 echo "[INFO] No Binary Directory selected" &&
  279.                 exit ;;
  280.         esac
  281.  
  282.         WINE_VER=$(ls -Q $WINE_DIR)
  283.  
  284.         SELECTED_VER=$(eval zenity --width="400" --height="500" --list --column="Version" $WINE_VER --title="" --window-icon="info")
  285.         echo "[INFO] Selected BINARY version: $SELECTED_VER"
  286.  
  287.         PREFIX_DIR=$(zenity --file-selection --directory --title="Select Wine Prefix Directory" --window-icon="info")
  288.         case $? in
  289.              0)
  290.                 echo "[INFO] Selected PREFIX directory: $PREFIX_DIR";;
  291.              1)
  292.                 echo "[INFO] No PREFIX Directory selected" &&
  293.                 exit ;;
  294.             -1)
  295.                 echo "[INFO] No PREFIX Directory selected" &&
  296.                 exit ;;
  297.         esac
  298.  
  299.         PREFIX=$(ls -Q $PREFIX_DIR)
  300.  
  301.         SELECTED_PREFIX=$(eval zenity --width="400" --height="500" --list --column="Prefix" $PREFIX --title="" --window-icon="info")
  302.         echo "[INFO] Selected PREFIX: $SELECTED_PREFIX"
  303.  
  304.         echo "[INFO] WINEBINARY=PATH: $WINE_DIR/$SELECTED_VER/wine"
  305.         echo "[INFO] WINEPREFIX=PATH: $PREFIX_DIR/$SELECTED_PREFIX"
  306.  
  307.         SELECTED_VERB=$(zenity --file-selection --title="Select .verb" --window-icon="info")
  308.         case $? in
  309.              0)
  310.                 echo "[INFO] $SELECTED_VERB selected for install";;
  311.              1)
  312.                 echo "[INFO] No .verb selected" &&
  313.                 exit ;;
  314.             -1)
  315.                 echo "[INFO] No .verb selected" &&
  316.                 exit ;;
  317.         esac
  318.  
  319.         if [ -z "$1" ] ; then zenity --notification --window-icon="info" --text="Running $WINE_DIR/$SELECTED_VER/wine winetricks $SELECTED_VERB";
  320.           fi
  321.  
  322.             export WINEPREFIX="$PREFIX_DIR/$SELECTED_PREFIX"
  323.             WINE=$WINE_DIR/$SELECTED_VER/wine winetricks $SELECTED_VERB
  324.  
  325.         clear
  326.           ;;
  327.  
  328.           "Delete winetricks .cache")
  329.  
  330.         echo "[INFO] Delete Winetricks cache: $HOME/.cache/winetricks"
  331.  
  332.         zenity --warning --text="Are you sure you wish to proceed?"
  333.  
  334.             rm -r "$HOME/.cache/winetricks"
  335.  
  336.         clear
  337.           ;;
  338.  
  339.           "Install a windows .exe")
  340.  
  341.         echo "[INFO] Install a Windows .exe"
  342.  
  343.         WINE_DIR=$(zenity --file-selection --directory --title="Select Wine Binary Directory" --window-icon="info")
  344.         case $? in
  345.              0)
  346.                 echo "[INFO] Selected BINARY directory: $WINE_DIR";;
  347.              1)
  348.                 echo "[INFO] No Binary Directory selected" &&
  349.                 exit ;;
  350.             -1)
  351.                 echo "[INFO] No Binary Directory selected" &&
  352.                 exit ;;
  353.         esac
  354.  
  355.         WINE_VER=$(ls -Q $WINE_DIR)
  356.  
  357.         SELECTED_VER=$(eval zenity --width="400" --height="500" --list --column="Version" $WINE_VER --title="" --window-icon="info")
  358.         echo "[INFO] Selected BINARY version: $SELECTED_VER"
  359.  
  360.         PREFIX_DIR=$(zenity --file-selection --directory --title="Select Wine Prefix Directory" --window-icon="info")
  361.         case $? in
  362.              0)
  363.                 echo "[INFO] Selected PREFIX directory: $PREFIX_DIR";;
  364.              1)
  365.                 echo "[INFO] No PREFIX Directory selected" &&
  366.                 exit ;;
  367.             -1)
  368.                 echo "[INFO] No PREFIX Directory selected" &&
  369.                 exit ;;
  370.         esac
  371.  
  372.         PREFIX=$(ls -Q $PREFIX_DIR)
  373.  
  374.         SELECTED_PREFIX=$(eval zenity --width="400" --height="500" --list --column="Prefix" $PREFIX --title="" --window-icon="info")
  375.         echo "[INFO] Selected PREFIX: $SELECTED_PREFIX"
  376.  
  377.         echo "[INFO] WINEBINARY=PATH: $WINE_DIR/$SELECTED_VER/wine"
  378.         echo "[INFO] WINEPREFIX=PATH: $PREFIX_DIR/$SELECTED_PREFIX"
  379.  
  380.         SELECTED_EXE=$(zenity --file-selection --title="Select a Windows .exe" --window-icon="info")
  381.         case $? in
  382.              0)
  383.                 echo "[INFO] $SELECTED_EXE selected for install";;
  384.              1)
  385.                 echo "[INFO] No .exe selected" &&
  386.                 exit ;;
  387.             -1)
  388.                 echo "[INFO] No .exe selected" &&
  389.                 exit ;;
  390.         esac
  391.  
  392.         if [ -z "$1" ] ; then zenity --notification --window-icon="info" --text="Running $WINE_DIR/$SELECTED_VER/wine $SELECTED_EXE";
  393.           fi
  394.  
  395.             export WINEPREFIX="$PREFIX_DIR/$SELECTED_PREFIX"
  396.             $WINE_DIR/$SELECTED_VER/wine $SELECTED_EXE
  397.  
  398.         clear
  399.           ;;
  400.  
  401.           "Install a windows .msi")
  402.  
  403.         echo "[INFO] Install a Windows .exe"
  404.  
  405.         WINE_DIR=$(zenity --file-selection --directory --title="Select Wine Binary Directory" --window-icon="info")
  406.         case $? in
  407.              0)
  408.                 echo "[INFO] Selected BINARY directory: $WINE_DIR";;
  409.              1)
  410.                 echo "[INFO] No Binary Directory selected" &&
  411.                 exit ;;
  412.             -1)
  413.                 echo "[INFO] No Binary Directory selected" &&
  414.                 exit ;;
  415.         esac
  416.  
  417.         WINE_VER=$(ls -Q $WINE_DIR)
  418.  
  419.         SELECTED_VER=$(eval zenity --width="400" --height="500" --list --column="Version" $WINE_VER --title="" --window-icon="info")
  420.         echo "[INFO] Selected BINARY version: $SELECTED_VER"
  421.  
  422.         PREFIX_DIR=$(zenity --file-selection --directory --title="Select Wine Prefix Directory" --window-icon="info")
  423.         case $? in
  424.              0)
  425.                 echo "[INFO] Selected PREFIX directory: $PREFIX_DIR";;
  426.              1)
  427.                 echo "[INFO] No PREFIX Directory selected" &&
  428.                 exit ;;
  429.             -1)
  430.                 echo "[INFO] No PREFIX Directory selected" &&
  431.                 exit ;;
  432.         esac
  433.  
  434.         PREFIX=$(ls -Q $PREFIX_DIR)
  435.  
  436.         SELECTED_PREFIX=$(eval zenity --width="400" --height="500" --list --column="Prefix" $PREFIX --title="" --window-icon="info")
  437.         echo "[INFO] Selected PREFIX: $SELECTED_PREFIX"
  438.  
  439.         echo "[INFO] WINEBINARY=PATH: $WINE_DIR/$SELECTED_VER/wine"
  440.         echo "[INFO] WINEPREFIX=PATH: $PREFIX_DIR/$SELECTED_PREFIX"
  441.  
  442.         SELECTED_MSI=$(zenity --file-selection --title="Select a Windows .msi" --window-icon="info")
  443.         case $? in
  444.              0)
  445.                 echo "[INFO] $SELECTED_MSI selected for install";;
  446.              1)
  447.                 echo "[INFO] No .msi selected" &&
  448.                 exit ;;
  449.             -1)
  450.                 echo "[INFO] No .msi selected" &&
  451.                 exit ;;
  452.         esac
  453.  
  454.         if [ -z "$1" ] ; then zenity --notification --window-icon="info" --text="Running $WINE_DIR/$SELECTED_VER/wine $SELECTED_MSI";
  455.           fi
  456.  
  457.             export WINEPREFIX="$PREFIX_DIR/$SELECTED_PREFIX"
  458.             $WINE_DIR/$SELECTED_VER/wine msiexec /i $SELECTED_MSI
  459.  
  460.         clear
  461.           ;;
  462.  
  463.           "Run an application")
  464.  
  465.         echo "[INFO] Run a Windows Application"
  466.  
  467.         WINE_DIR=$(zenity --file-selection --directory --title="Select Wine Binary Directory" --window-icon="info")
  468.         case $? in
  469.              0)
  470.                 echo "[INFO] Selected BINARY directory: $WINE_DIR";;
  471.              1)
  472.                 echo "[INFO] No Binary Directory selected" &&
  473.                 exit ;;
  474.             -1)
  475.                 echo "[INFO] No Binary Directory selected" &&
  476.                 exit ;;
  477.         esac
  478.  
  479.         WINE_VER=$(ls -Q $WINE_DIR)
  480.  
  481.         SELECTED_VER=$(eval zenity --width="400" --height="500" --list --column="Version" $WINE_VER --title="" --window-icon="info")
  482.         echo "[INFO] Selected BINARY version: $SELECTED_VER"
  483.  
  484.         PREFIX_DIR=$(zenity --file-selection --directory --title="Select Wine Prefix Directory" --window-icon="info")
  485.         case $? in
  486.              0)
  487.                 echo "[INFO] Selected PREFIX directory: $PREFIX_DIR";;
  488.              1)
  489.                 echo "[INFO] No PREFIX Directory selected" &&
  490.                 exit ;;
  491.             -1)
  492.                 echo "[INFO] No PREFIX Directory selected" &&
  493.                 exit ;;
  494.         esac
  495.  
  496.         PREFIX=$(ls -Q $PREFIX_DIR)
  497.  
  498.         SELECTED_PREFIX=$(eval zenity --width="400" --height="500" --list --column="Prefix" $PREFIX --title="" --window-icon="info")
  499.         echo "[INFO] Selected PREFIX: $SELECTED_PREFIX"
  500.  
  501.         echo "[INFO] WINEBINARY=PATH: $WINE_DIR/$SELECTED_VER/wine"
  502.         echo "[INFO] WINEPREFIX=PATH: $PREFIX_DIR/$SELECTED_PREFIX"
  503.  
  504.         SELECTED_APP=$(zenity --file-selection --title="Select a Windows Application" --window-icon="info")
  505.         case $? in
  506.              0)
  507.                 echo "[INFO] $SELECTED_APP selected to execute";;
  508.              1)
  509.                 echo "[INFO] No application selected" &&
  510.                 exit ;;
  511.             -1)
  512.                 echo "[INFO] No application selected" &&
  513.                 exit ;;
  514.         esac
  515.  
  516.         ARGUMENTS=$(zenity --width="350" --height="100" --entry --title="Command-Line Arguments" --text="Enter Command-Line Arguments:" --entry-text "")
  517.         echo "[INFO] Command-Line Arguments: $ARGUMENTS"
  518.  
  519.         if [ -z "$1" ] ; then zenity --notification --window-icon="info" --text="Running $WINE_DIR/$SELECTED_VER/wine $SELECTED_APP";
  520.           fi
  521.  
  522.             export WINEPREFIX="$PREFIX_DIR/$SELECTED_PREFIX"
  523.             WINE=$WINE_DIR/$SELECTED_VER/wine $SELECTED_APP $ARGUMENTS
  524.  
  525.         clear
  526.           ;;
  527.  
  528.           "Run a batch script")
  529.  
  530.         echo "[INFO] Run a Batch Script"
  531.  
  532.         WINE_DIR=$(zenity --file-selection --directory --title="Select Wine Binary Directory" --window-icon="info")
  533.         case $? in
  534.              0)
  535.                 echo "[INFO] Selected BINARY directory: $WINE_DIR";;
  536.              1)
  537.                 echo "[INFO] No Binary Directory selected" &&
  538.                 exit ;;
  539.             -1)
  540.                 echo "[INFO] No Binary Directory selected" &&
  541.                 exit ;;
  542.         esac
  543.  
  544.         WINE_VER=$(ls -Q $WINE_DIR)
  545.  
  546.         SELECTED_VER=$(eval zenity --width="400" --height="500" --list --column="Version" $WINE_VER --title="" --window-icon="info")
  547.         echo "[INFO] Selected BINARY version: $SELECTED_VER"
  548.  
  549.         PREFIX_DIR=$(zenity --file-selection --directory --title="Select Wine Prefix Directory" --window-icon="info")
  550.         case $? in
  551.              0)
  552.                 echo "[INFO] Selected PREFIX directory: $PREFIX_DIR";;
  553.              1)
  554.                 echo "[INFO] No PREFIX Directory selected" &&
  555.                 exit ;;
  556.             -1)
  557.                 echo "[INFO] No PREFIX Directory selected" &&
  558.                 exit ;;
  559.         esac
  560.  
  561.         PREFIX=$(ls -Q $PREFIX_DIR)
  562.  
  563.         SELECTED_PREFIX=$(eval zenity --width="400" --height="500" --list --column="Prefix" $PREFIX --title="" --window-icon="info")
  564.         echo "[INFO] Selected PREFIX: $SELECTED_PREFIX"
  565.  
  566.         echo "[INFO] WINEBINARY=PATH: $WINE_DIR/$SELECTED_VER/wine"
  567.         echo "[INFO] WINEPREFIX=PATH: $PREFIX_DIR/$SELECTED_PREFIX"
  568.  
  569.         SELECTED_BAT=$(zenity --file-selection --title="Select a Windows Application" --window-icon="info")
  570.         case $? in
  571.              0)
  572.                 echo "[INFO] $SELECTED_BAT selected to execute";;
  573.              1)
  574.                 echo "[INFO] No batch script selected" &&
  575.                 exit ;;
  576.             -1)
  577.                 echo "[INFO] No batch script selected" &&
  578.                 exit ;;
  579.         esac
  580.  
  581.         if [ -z "$1" ] ; then zenity --notification --window-icon="info" --text="Running $WINE_DIR/$SELECTED_VER/wine cmd /c $SELECTED_BAT";
  582.           fi
  583.  
  584.             export WINEPREFIX="$PREFIX_DIR/$SELECTED_PREFIX"
  585.             WINE=$WINE_DIR/$SELECTED_VER/wine cmd /c $SELECTED_BAT
  586.  
  587.         clear
  588.           ;;
  589.  
  590.           "Run a steam game")
  591.  
  592.         echo "[INFO] Run a Steam Game"
  593.  
  594.         WINE_DIR=$(zenity --file-selection --directory --title="Select Wine Binary Directory"  --window-icon="info")
  595.         case $? in
  596.              0)
  597.                 echo "[INFO] Selected BINARY directory: $WINE_DIR";;
  598.              1)
  599.                 echo "[INFO] No Binary Directory selected" &&
  600.                 exit ;;
  601.             -1)
  602.                 echo "[INFO] No Binary Directory selected" &&
  603.                 exit ;;
  604.         esac
  605.  
  606.         WINE_VER=$(ls -Q $WINE_DIR)
  607.  
  608.         SELECTED_VER=$(eval zenity --width="400" --height="500" --list --column="Version" $WINE_VER --title="" --window-icon="info")
  609.         echo "[INFO] Selected BINARY version: $SELECTED_VER"
  610.  
  611.         PREFIX_DIR=$(zenity --file-selection --directory --title="Select Wine Prefix Directory" --window-icon="info")
  612.         case $? in
  613.              0)
  614.                 echo "[INFO] Selected PREFIX directory: $PREFIX_DIR";;
  615.              1)
  616.                 echo "[INFO] No PREFIX Directory selected" &&
  617.                 exit ;;
  618.             -1)
  619.                 echo "[INFO] No PREFIX Directory selected" &&
  620.                 exit ;;
  621.         esac
  622.  
  623.         PREFIX=$(ls -Q $PREFIX_DIR)
  624.  
  625.         SELECTED_PREFIX=$(eval zenity --width="400" --height="500" --list --column="Prefix" $PREFIX --title="" --window-icon="info")
  626.         echo "[INFO] Selected PREFIX: $SELECTED_PREFIX"
  627.  
  628.         echo "[INFO] WINEBINARY=PATH: $WINE_DIR/$SELECTED_VER/wine"
  629.         echo "[INFO] WINEPREFIX=PATH: $PREFIX_DIR/$SELECTED_PREFIX"
  630.  
  631.         STEAM_APPID=$(zenity --width="350" --height="100" --entry --title="Steam Application ID" --text="Enter a Steam _APPID:" --entry-text "")
  632.         echo "[INFO] Steam Application ID: $STEAM_APPID"
  633.  
  634.         ARGUMENTS=$(zenity --width="350" --height="100" --entry --title="Command-Line Arguments" --text="Enter Command-Line Arguments:" --entry-text "")
  635.         echo "[INFO] Command-Line Arguments: $ARGUMENTS"
  636.  
  637.         echo "[INFO] Executing steam.exe -applaunch $STEAM_APPID $ARGUMENTS"
  638.  
  639.         if [ -z "$1" ] ; then zenity --notification --window-icon="info" --text="Running Steam.exe -applaunch $STEAM_APPID $ARGUMENTS";
  640.           fi
  641.  
  642.             export WINEPREFIX="$PREFIX_DIR/$SELECTED_PREFIX"
  643.             $WINE_DIR/$SELECTED_VER/wine C:/Program\ Files/Steam/Steam.exe -applaunch $STEAM_APPID $ARGUMENTS
  644.  
  645.         clear
  646.           ;;
  647.  
  648.           "Run a debug trace")
  649.  
  650.         echo "[NOT SUPPORTED YET] Run a debug trace."
  651.  
  652.           ;;
  653.  
  654.           *)
  655.             break
  656.           ;;
  657.         esac
  658.       done
  659.     ;;
  660.     *)
  661.       break
  662.     ;;
  663.   esac
  664. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement