summaryrefslogtreecommitdiff
path: root/bin/status.sh
blob: 35ae205c5b227d011eef17cc1754299ca868ee97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/sh

puts () {
	printf %s "$1"
}

escape () {
	printf %s "$1" | sed -e 's*\\*\\\\*g' -e 's!"!\\"!g'
}

block_basic () {
	printf '{"full_text":"%s"},' "$1"
}
block_color () {
	printf '{"full_text":"%s","color":"%s"},' "$1" "$2"
}

BDIR=/sys/class/power_supply/BAT0

# header
printf '%s\n' '{"version":1}'
puts '['

while true; do
	puts '['

	volinfo="$(amixer get Master | grep 'Mono:')"
	vol_level="$(printf %s "$volinfo" | awk -F'[][]' '{print $2}')"
	vol_enabled="$(printf %s "$volinfo" | awk -F'[][]' '{print $6}')"
	color="#ffffff"; bl=""; br=""
	[ "$vol_enabled" = "off" ] && { color="#ffff00"; bl="("; br=")"; }
	block_color "vol $bl$vol_level$br" "$color"

	bat_status="$(cat $BDIR/status | tr 'a-z' 'A-Z' | head -c 3)"
	bat_level="$(cat $BDIR/capacity)"
	color="#ffffff"
	if [ "$bat_status" != "CHA" ]; then
		if [ "$bat_level" -le 10 ]; then
			color="#ff0000"
		elif [ "$bat_level" -le 25 ]; then
			color="#ffff00"
		fi
	fi
	block_color "$bat_status $bat_level%" "$color"

	date="$(date +'%a %Y-%m-%d %H:%M:%S')"
	block_basic "$date"


	puts '],'
	sleep 1

done