#! /bin/sh

fail() {
	echo "$@" 1>&2
	exit 1
}

clients_count() {
	bspc wm -d | jshon -e clientsCount
}

window() {
    local cmd=$1
    local iter=${2:-1}
    local delta=${3:-1}
	local interval=${4:-0.05}
	local max_tries=${5:-40}
    while [ $iter -gt 0 ] ; do
		local cur=$(clients_count)
		local trg
		local tries=0
		case "$cmd" in
			add)
				trg=$((cur + delta))
				./test_window &
				;;
			remove)
				trg=$((cur - delta))
				bspc node -c
				;;
			*)
				fail "window: unknown command: ${cmd}."
				;;
		esac
		while [ $cur -ne $trg ] ; do
			cur=$(clients_count)
			sleep $interval
			tries=$((tries + 1))
			[ $tries -ge $max_tries ] && break
		done
		iter=$((iter - 1))
	done
}
