discord.kak

· ficd's pastes · raw

expires: 2025-10-20

 1# my BASED implementation
 2
 3provide-module discord-rpc %~
 4    declare-option bool discord_rpc_autostart true
 5    define-command start-discord-rpc %{
 6        nop %sh{
 7            lock="/tmp/kak-discord"
 8            if [ ! -f "$lock" ]; then
 9                {
10                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!!!'
11                } >/dev/null 2>&1 </dev/null &
12                pid="$!"
13                echo "$pid">"$lock"
14            fi
15        }
16    }
17    define-command stop-discord-rpc %{
18        nop %sh{
19            lock="/tmp/kak-discord"
20            if [ -f "$lock" ]; then
21                kill "$(cat "$lock")"
22                rm "$lock"
23            fi
24        }
25    }
26    hook -once global KakBegin .* %{
27        evaluate-commands %sh{
28            if [ "$kak_opt_discord_rpc_autostart" = "true" ]; then
29                echo "start-discord-rpc"
30            fi
31        }
32    }
33    hook -once -always global KakEnd .* %{
34        evaluate-commands %sh{
35            count="$(kak -l | grep -v '(dead)' | wc -l)"
36            if [ ${count} -le 1 ]; then
37                echo "stop-discord-rpc"
38            fi
39        }
40    }
41~
42