STATUS_FILE__WIFI=$STATUS_DIR/wifi
STATUS_FILE__ENERGY_NOTIFIED_BELLOW_HALF=$STATUS_DIR/notified_energy_bellow_half
+SYMBOL_WIFI='📶'
+
#load=$(cat /proc/loadavg | awk '{printf "%4.2f %4.2f %4.2f", $1, $2, $3}')
fan=$(awk '/^speed:/ {printf "%4d", $2}' /proc/acpi/ibm/fan)
total=$2;
used=$3;
cache=$6;
- file = "/home/siraaj/var/run/status/memory_used_percentage";
+ prev_file = "/home/siraaj/var/run/status/memory_used_percentage";
curr = round(used / total * 100);
- getline prev < file;
- print curr > file;
+ getline prev < prev_file;
+ print curr > prev_file;
if (curr > prev) {
direction = ">";
} else if (curr < prev) {
function round(n) {return int(n + 0.5)}
$1 == "/dev/mapper/kubuntu--vg-root" {
- total = $2;
- used = $3;
- file = "/home/siraaj/var/run/status/disk_space_used_percentage";
- curr = round(used / total * 100);
- getline prev < file;
- print curr > file;
- if (curr > prev) {
+ curr_blocks = $3;
+ curr_perc = $5; sub("%$", "", curr_perc);
+ prev_file_prefix = "/home/siraaj/var/run/status/disk_space_used";
+
+ prev_perc_file = prev_file_prefix "_percentage";
+ prev_blocks_file = prev_file_prefix "_blocks";
+
+ getline prev_blocks < prev_blocks_file;
+ getline prev_perc < prev_perc_file;
+
+ print curr_blocks > prev_blocks_file;
+ print curr_perc > prev_perc_file;
+ if (curr_perc > prev_perc) {
direction = ">";
- } else if (curr < prev) {
+ } else if (curr_perc < prev_perc) {
direction = "<";
} else {
direction = "=";
}
- printf("%s%d%%", direction, curr);
+ diff_blocks = curr_blocks - prev_blocks;
+ printf("%s[%d%% %d]", direction, curr_perc, diff_blocks);
}')
+io_net=$(
+ awk '
+ BEGIN {
+ bytes_per_unit = 1024 * 1024
+ }
+
+ NR > 2 {
+ device = $1; sub(":$", "", device);
+ curr_read = $2;
+ curr_write = $10;
+
+ prev_file_prefix = "/home/siraaj/var/run/status/io_net_" device;
+ prev_read_file = prev_file_prefix "_read";
+ prev_write_file = prev_file_prefix "_write";
+
+ getline prev_read < prev_read_file;
+ getline prev_write < prev_write_file;
+
+ diff_read = (curr_read - prev_read ) / bytes_per_unit;
+ diff_write = (curr_write - prev_write) / bytes_per_unit;
+
+ print curr_read > prev_read_file;
+ print curr_write > prev_write_file;
+
+ printf("%s %0.3f▲ %0.3f▼\n", device, diff_write, diff_read);
+ }
+ ' /proc/net/dev
+)
+
energy=$(
upower -e \
| grep battery \
rm -f "$STATUS_FILE__ENERGY_NOTIFIED_BELLOW_HALF"
fi
-weather="$(cat ~/var/run/metar-KJFK-decoded-temp-fahrenheit)°F"
+weather=$(awk 'NR == 1 {printf("%d°F", $1)}' ~/var/run/metar-KJFK-decoded-temp-fahrenheit)
signal_last_msg_age=$(
ls -lt --time-style=+%s $HOME/var/lib/signal/latest_message.json \
| tr -d ' '
)
+mpd_state=$(
+ echo 'status' \
+ | nc 127.0.0.1 6600 \
+ | awk '
+ {
+ status[$1] = $2
+ }
+
+ END {
+ state = status["state:"]
+ symbol = "-"
+ if (state == "play") {
+ symbol = "▶"
+ } else if (state == "pause") {
+ symbol = "❚❚"
+ } else if (state == "stop") {
+ symbol = "⬛"
+ }
+ printf("%s", symbol)
+ }
+ '
+)
+
echo \
"\
E$energy\
+ \
+ \
M$memory\
- D$disk\
+ \
+ \
C=[$cpu ${temp}°C ${fan}rpm]\
- |\
+ \
+ \
+ D$disk\
+ \
+ \
+ $SYMBOL_WIFI [$wifi $(echo "$io_net" | awk '/^wlp3s0/ {print $2, $3}')]\
+ \
+ \
+ B:$bluetooth_power\
+ \
+ \
S=$screen_brightness\
+ \
+ \
V=$volume\
- B:$bluetooth_power\
- W:$wifi\
- |\
+ \
+ $mpd_state\
+ \
+ $signal_last_msg_age\
+ \
$weather\
\
$datetime \