summaryrefslogtreecommitdiffstats
path: root/.bin/ag-status
blob: 150b9db66573c35b13d154fb707d35c52777fe6f (plain) (blame)
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
55
56
#!/bin/sh

__cleanup_value() {
	cat /dev/stdin | sed 's/%//g'
}

uname=$(uname)

battery=""
battery_status=""
time=""
volume=""

while true; do
	case "${uname}" in
		OpenBSD)
			battery=$(apm -l)
			battery_status=$(apm |
				grep "A/C" |
				cut -d ":" -f 2 |
				tr -d " ")
			volume=$(sndioctl -n output.level |
				cut -c 3-4)
			;;
		Linux)
			battery=$(acpi -b |
				cut -d " " -f 4 |
				__cleanup_value)
			battery_status=$(acpi -a |
				tr -s " " |
				cut -d " " -f 3)
			volume=$(pamixer --get-volume |
				__cleanup_value)

			if $(pamixer --get-mute); then
				volume_status="__mute__"
			fi
			;;
	esac

	time=$(date +%Y-%m-%dT%H:%M:%S)
	status="VOL: ${volume}%"

	if [ -n "${battery}" ]; then
		status="${status} | BATTERY ${battery}%"
	fi

	status="${status} | DATE: ${time}"

	echo "${status}"
	xsetroot -name " ${status}"

	[ "${1}" != "-l" ] && exit 0

	sleep 5
done
remember that computers suck.