dotfiles/.config/kak/discord.kak

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
}
}
~