# 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 "$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 } } ~