finish audio refractor
This commit is contained in:
parent
8b7f7e1498
commit
061b57dc70
@ -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
|
||||||
|
@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
'
|
|
||||||
|
@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
'
|
|
||||||
|
Reference in New Issue
Block a user