finish audio refractor

This commit is contained in:
koksnuss 2018-08-11 02:11:42 +02:00
parent 8b7f7e1498
commit 061b57dc70
4 changed files with 21 additions and 77 deletions

View File

@ -1 +0,0 @@
71 2

View File

@ -1,6 +1,7 @@
[[ "$BLOCK_INSTANCE" =~ "color" ]] && COLORS=True [[ "$BLOCK_INSTANCE" =~ "color" ]] && COLORS=True
[[ "$BLOCK_INSTANCE" =~ "long" || "$BLOCK_BUTTON" == 1 ]] && LONG=True [[ "$BLOCK_INSTANCE" =~ "long" || "$BLOCK_BUTTON" == 1 ]] && LONG=True
EXIT=False
BAR=("▁" "▂" "▃" "▄" "▅" "▆" "▇" "█") BAR=("▁" "▂" "▃" "▄" "▅" "▆" "▇" "█")
INTERVAL=$((100 / ${#BAR[@]})) INTERVAL=$((100 / ${#BAR[@]}))
COLOR=("#64bc01" "#77a601" "#8a9101" "#9d7b00" "#b06701" "#c45100" "#d63c00" "#e92700") COLOR=("#64bc01" "#77a601" "#8a9101" "#9d7b00" "#b06701" "#c45100" "#d63c00" "#e92700")
@ -9,7 +10,7 @@ BW=("#565656" "#6d6d6d" "#848485" "#9c9c9c" "#b1b1b1" "#c7c7c7" "#dcdcdc" "#f5f5
source $HOME/.config/i3blocks/modules/${1}.sh source $HOME/.config/i3blocks/modules/${1}.sh
# text # text
if [[ "$LONG" ]]; then if [[ "$LONG" || "$LONG_TEXT" == "off" ]]; then
echo "$LONG_TEXT" echo "$LONG_TEXT"
echo "$SHORT_TEXT" echo "$SHORT_TEXT"
else else

View File

@ -2,45 +2,18 @@
[[ "$BLOCK_BUTTON" == 2 ]] && pavucontrol & [[ "$BLOCK_BUTTON" == 2 ]] && pavucontrol &
[[ "$BLOCK_BUTTON" == 3 ]] && amixer set $DEV toggle &> /dev/null [[ "$BLOCK_BUTTON" == 3 ]] && amixer set $DEV toggle &> /dev/null
amixer get $DEV | gawk -v BAR="${BAR[*]}" -v BW="${BW[*]}" -v COLORS="$COLORS" -v COLOR="${COLOR[*]}" -v LONG="$LONG" ' if [[ $(amixer get $DEV) =~ \[([0-9]+)\%\][[:space:]]\[(on|off)\] ]]; then
LOAD=${BASH_REMATCH[1]}
BEGIN { STATE=${BASH_REMATCH[2]}
split(BAR, bar, / /) if [[ "$STATE" == "on" ]]; then
split(COLOR, color, / /) LONG_TEXT="${LOAD}%"
split(BW, bw, / /) SHORT_TEXT="${LOAD}"
interval = 100 / length(bar) else
} LONG_TEXT="off"
SHORT_TEXT="X"
match($0, /\[([0-9]+)\%\] \[(on|off)\]/, matches) { EXIT=True
load = matches[1] fi
} else
LONG_TEXT="no audio source"
END { SHORT_TEXT="n/a"
if (matches[2] == "off") { fi
print("off\n")
print("X\n")
print("#CCCCCC")
} else {
if (LONG) {
printf("%d%\n%d\n", load, load)
} else {
for (i in bar) {
if (load <= i * interval) {
printf("%s\n%s\n", bar[i], bar[i])
break
}
}
}
for (i in bw) {
if (load <= i * interval) {
if (COLORS) {
printf("%s\n", color[i])
} else {
printf("%s\n", bw[i])
}
break
}
}
}
}
'

View File

@ -1,35 +1,6 @@
[[ "$BLOCK_BUTTON" == 2 ]] && i3-sensible-terminal -e htop [[ "$BLOCK_BUTTON" == 2 ]] && i3-sensible-terminal -e htop
top -bn1 | gawk -v LONG="$LONG" -v COLORS="$COLORS" -v BAR="${BAR[*]}" -v COLOR="${COLOR[*]}" -v BW="${BW[*]}" ' IDLE=$(top -bn1 | head -3 | grep -Eo [0-9]+,[0-9][[:space:]]id | grep -Eo [0-9]+ | head -1)
BEGIN { LOAD=$((100 - $IDLE))
split(BAR, bar, / /) LONG_TEXT="$LOAD%"
split(COLOR, color, / /) SHORT_TEXT="$LOAD"
split(BW, bw, / /)
interval = 100 / length(bar)
}
/^\%CPU/ { load = 100 - $8 }
END {
if (LONG) {
printf("%d%\n%d\n", load, load)
} else {
for (i in bar) {
if (load <= i * interval) {
printf("%s\n%s\n", bar[i], bar[i])
break
}
}
}
for (i in bw) {
if (load <= i * interval) {
if (COLORS) {
printf("%s\n", color[i])
} else {
printf("%s\n", bw[i])
}
break
}
}
}
'