#!/bin/sh
# ttym on_done -- runs when a countdown reaches zero.
#
#   $1  mode      always "countdown" -- a stopwatch never completes
#   $2  seconds   the full duration that elapsed
#   $3  comment   the -c text, or an empty string
#
# Nothing here duplicates the notify patch: if your build has it, the
# desktop notification and sound have already fired by the time this
# runs. Use this for what the binary does not do.
#
# timer waits for this before the completion bell and the alert loop, so
# background anything slow with &.

mode=$1 seconds=$2 comment=$3

# --- session record ------------------------------------------------------
state=${XDG_STATE_HOME:-$HOME/.local/state}/ttym
if mkdir -p "$state" 2>/dev/null; then
	printf '%s\tDONE\t%s\t%s\t%s\n' \
		"$(date +%Y-%m-%dT%H:%M:%S)" "$mode" "$seconds" "$comment" \
		>> "$state/sessions.tsv"
fi

# --- leave focus mode ----------------------------------------------------
# Note the ordering: the notify patch emits its completion popup *before*
# this hook runs, so with dunst paused that popup is queued and appears
# the moment the next line unpauses. Delayed, not lost.
command -v dunstctl  > /dev/null 2>&1 && dunstctl set-paused false
command -v playerctl > /dev/null 2>&1 && playerctl play 2>/dev/null
command -v mpc       > /dev/null 2>&1 && mpc -q play 2>/dev/null

# --- timewarrior ---------------------------------------------------------
# command -v timew > /dev/null 2>&1 && timew stop > /dev/null 2>&1

exit 0
