42 lines
1.2 KiB
Text
42 lines
1.2 KiB
Text
# my BASED implementation
|
|
|
|
provide-module discord-rpc %~
|
|
declare-option bool discord_rpc_autostart true
|
|
define-command start-discord-rpc %{
|
|
nop %sh{
|
|
lock="/tmp/kak-discord"
|
|
if [ ! -f "$lock" ]; then
|
|
{
|
|
discord-rpc-cli -c '1397337509393989713' -d 'I just be editing text i just be writing text and editing it' -N kak -I 'i just be editing text!!!'
|
|
} >/dev/null 2>&1 </dev/null &
|
|
pid="$!"
|
|
echo "$pid">"$lock"
|
|
fi
|
|
}
|
|
}
|
|
define-command stop-discord-rpc %{
|
|
nop %sh{
|
|
lock="/tmp/kak-discord"
|
|
if [ -f "$lock" ]; then
|
|
kill "$(cat "$lock")"
|
|
rm "$lock"
|
|
fi
|
|
}
|
|
}
|
|
hook -once global KakBegin .* %{
|
|
evaluate-commands %sh{
|
|
if [ "$kak_opt_discord_rpc_autostart" = "true" ]; then
|
|
echo "start-discord-rpc"
|
|
fi
|
|
}
|
|
}
|
|
hook -once -always global KakEnd .* %{
|
|
evaluate-commands %sh{
|
|
count="$(kak -l | grep -v '(dead)' | wc -l)"
|
|
if [ ${count} -le 1 ]; then
|
|
echo "stop-discord-rpc"
|
|
fi
|
|
}
|
|
}
|
|
~
|
|
|