48 lines
1.4 KiB
Bash
Executable File
48 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Wait for the game to be launched
|
|
while ! pgrep -u "$USER" ^$1 &> /dev/null ; do
|
|
sleep 0.05
|
|
done
|
|
|
|
unset cliptext
|
|
socketFile="$(find /tmp -maxdepth 1 -name "orca-*.sock")"
|
|
while pgrep -u "$USER" ^$1 &> /dev/null ; do
|
|
sleep 0.05
|
|
if [[ -f ~/.agmsilent ]]; then
|
|
continue
|
|
fi
|
|
if [[ "$(uname)" == "Darwin" ]]; then
|
|
tmp="$(pbpaste 2> /dev/null)"
|
|
else
|
|
tmp="$(xclip -d "${DISPLAY:-:0}" -selection clipboard -o 2> /dev/null)"
|
|
fi
|
|
tmp="${tmp//%/ percent }"
|
|
if [ "$tmp" != "$cliptext" ] ; then
|
|
cliptext="$tmp"
|
|
if [[ "${cliptext,,}" =~ key|load|private|says|terminal ]]; then
|
|
if [[ "$(uname)" == "Darwin" ]]; then
|
|
say -v alex -r 300 "$cliptext"
|
|
else
|
|
if [[ -w "${socketFile}" ]]; then
|
|
echo "<#APPEND#>$cliptext" | socat - UNIX-CLIENT:"${socketFile}"
|
|
else
|
|
spd-say -w -- "$cliptext"
|
|
fi
|
|
fi
|
|
else
|
|
if [[ "$(uname)" == "Darwin" ]]; then
|
|
say -v alex -r 300 "$cliptext"
|
|
else
|
|
if [[ -w "${socketFile}" ]]; then
|
|
echo "$cliptext" | socat - UNIX-CLIENT:"${socketFile}"
|
|
else
|
|
spd-say -- "$cliptext"
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
done
|
|
|
|
exit 0
|