Commit | Line | Data |
---|---|---|
93c067b5 SK |
1 | #! /bin/sh |
2 | ||
3 | set -e | |
4 | ||
5 | bin_dir="$(dirname $(realpath $0))" | |
6 | ||
7 | . "$bin_dir/khatus_x4_lib_common_sensor.sh" | |
8 | ||
9 | sensor() { | |
10 | def_sink=$(pactl info | awk '/^Default Sink:/ {print $3}') | |
11 | ||
12 | pactl list sinks | awk -v def_sink="$def_sink" ' | |
13 | /^Sink \#[0-9]+$/ { | |
14 | sub("^#", "", $2) | |
15 | sink_number = $2 | |
16 | next | |
17 | } | |
18 | ||
19 | /\tState:/ { | |
20 | state[sink_number] = $2 | |
21 | next | |
22 | } | |
23 | ||
24 | /\tName:/ { | |
25 | name[sink_number] = $2 | |
26 | next | |
27 | } | |
28 | ||
29 | /\tMute:/ { | |
30 | mute[sink_number] = $2 | |
31 | next | |
32 | } | |
33 | ||
34 | # Volume: front-left: 45732 / 70% / -9.38 dB, front-right: 45732 / 70% / -9.38 dB | |
35 | /\tVolume:/ { | |
36 | delete vol_parts | |
37 | delete left_parts | |
38 | delete right_parts | |
39 | sub("^\t+Volume: +", "") | |
40 | split($0, vol_parts, ", +") | |
41 | sub("^front-left: +", "", vol_parts[1]) | |
42 | sub("^front-right: +", "", vol_parts[2]) | |
43 | split(vol_parts[1], left_parts, " +/ +") | |
44 | split(vol_parts[2], right_parts, " +/ +") | |
45 | vol_left[sink_number] = left_parts[2] | |
46 | vol_right[sink_number] = right_parts[2] | |
47 | next | |
48 | } | |
49 | ||
50 | END { | |
51 | for (sink_number in name) { | |
52 | if (name[sink_number] == def_sink) { | |
53 | print("state" , state[sink_number]) | |
54 | print("mute" , mute[sink_number]) | |
55 | print("vol_left" , vol_left[sink_number]) | |
56 | print("vol_right", vol_right[sink_number]) | |
57 | } | |
58 | } | |
59 | } | |
60 | ' | |
61 | } | |
62 | ||
63 | run_as_poller |