dotfiles/.config/kak/discord.kak

33 lines
1.1 KiB
Text

declare-option -hidden str discord_fifo
define-command -hidden discord-fifo-send -params 1 %{ nop %sh{
{ echo "$1" > "$kak_opt_discord_fifo"; } >/dev/null 2>&1 </dev/null &
} }
define-command discord-presence-enable \
-docstring "Enable Discord rich presence for this kakoune session" %{
evaluate-commands %sh{
if [ -z "$kak_opt_discord_fifo" ] && [ "$(pidof vesktop)" ]; then
fifo=${TMPDIR:-/tmp}/kakoune-discord
if [ ! -p "$fifo" ]; then
mkfifo "$fifo"
kakoune-discord "$fifo" >/dev/null 2>&1 </dev/null &
fi
cat<<EOF
set-option global discord_fifo $fifo
discord-fifo-send '+'
hook global -group discord FocusIn .* %{ discord-fifo-send %reg{%} }
hook global -group discord WinDisplay .* %{ discord-fifo-send %reg{%} }
hook global -group discord KakEnd .* %{ discord-fifo-send '-' }
define-command discord-presence-disable \
-docstring "Disable Discord rich presence for this kakoune session" %{
discord-fifo-send '-'
unset-option global discord_fifo
remove-hooks global discord
}
EOF
fi
}
}