#!/bin/sh arRPCdir="$HOME/.local/share/arRPC" Vesktopdir="$HOME/.local/share/Vesktop" if [ ! $(which node) ]; then echo "Pleases install nodejs and try again." exit fi install_arRPC () { echo "Installing arRPC" git clone https://github.com/OpenAsar/arRPC "$arRPCdir" cd "$arRPCdir" && npm install echo "arRPC installed" } install_vesktop () { echo "Installing Vesktop" pull_vesktop build_vesktop git clone https://github.com/Vencord/Vesktop $Vesktopdir } build_vesktop () { export COREPACK_ENABLE_STRICT=0 cd $Vesktopdir pnpm i pnpm package:dir echo "Vesktop installed" } run_arRPC () { # skip if already running if [ $(pgrep -f 'node src') ]; then return; fi echo "Starting arRPC" cd "$arRPCdir" node src & } run_vesktop () { echo "Starting Vesktop" if [ ! -d $Vesktopdir ]; then install_vesktop; fi if [ ! -d $Vesktopdir/dist/linux-unpacked ]; then build_vesktop; fi cd $Vesktopdir/dist/linux-unpacked ./vesktop \ --enable-features=UseOzonePlatform,WaylandWindowDecorations \ --ozone-platform-hint=auto } if [ ! -d "$arRPCdir" ]; then install_arRPC fi run_arRPC arRPCPID=$(pgrep -f 'node src') run_vesktop echo "Killing arRPC" # exit arRPC when Vesktop closes echo "Trying to kill $arRPCPID" killall node -n $arRPCPID if [ ! $(pgrep -f 'node src' ) ]; then echo "arRPC killed" else echo "arRPC could not be killed" fi