fix and refractor battry plus various other small fixes
This commit is contained in:
parent
b27f490fa6
commit
4389f2e504
@ -26,7 +26,10 @@ source $HOME/.config/i3blocks/modules/${1}.sh
|
|||||||
|
|
||||||
|
|
||||||
# text
|
# text
|
||||||
if [[ "$LONG" = true || "$LONG_TEXT" == "off" ]]; then
|
if [[ "$LOAD" = false && "$LONG" = false ]]; then
|
||||||
|
echo $SHORT_TEXT
|
||||||
|
echo $SHORT_TEXT
|
||||||
|
elif [[ "$LONG" = true || $LONG_TEXT =~ off ]]; then
|
||||||
echo "$LONG_TEXT"
|
echo "$LONG_TEXT"
|
||||||
echo "$SHORT_TEXT"
|
echo "$SHORT_TEXT"
|
||||||
else
|
else
|
||||||
|
@ -9,10 +9,12 @@ if [[ $(amixer get $DEV) =~ \[([0-9]+)\%\][[:space:]]\[(on|off)\] ]]; then
|
|||||||
LONG_TEXT="${LOAD}%"
|
LONG_TEXT="${LOAD}%"
|
||||||
SHORT_TEXT="${LOAD}"
|
SHORT_TEXT="${LOAD}"
|
||||||
else
|
else
|
||||||
LONG_TEXT="off"
|
LONG_TEXT="${LOAD}% off"
|
||||||
SHORT_TEXT="X"
|
SHORT_TEXT="off"
|
||||||
|
LOAD=false
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
LONG_TEXT="no audio source"
|
LONG_TEXT="no audio source"
|
||||||
SHORT_TEXT="n/a"
|
SHORT_TEXT="n/a"
|
||||||
|
LOAD=false
|
||||||
fi
|
fi
|
||||||
|
@ -1,65 +1,22 @@
|
|||||||
DIR="/sys/class/power_supply"
|
DIR="/sys/class/power_supply"
|
||||||
|
|
||||||
if [[ "$BLOCK_INSTANCE" == "" ]]; then
|
if [[ "$BLOCK_INSTANCE" == "" ]]; then
|
||||||
for BAT in $DIR/BAT*/; do
|
for BAT in $DIR/BAT*/; do
|
||||||
[[ -f "${BAT}uevent" ]] && BATS+="$BAT/uevent "
|
[[ -f "${BAT}uevent" ]] && BATS+="${BAT}uevent "
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
[[ -f "$DIR/BAT$BLOCK_INSTANCE/uevent" ]] && BATS="$DIR/BAT$BLOCK_INSTANCE/uevent"
|
[[ -f "$DIR/BAT$BLOCK_INSTANCE/uevent" ]] && BATS="$DIR/BAT$BLOCK_INSTANCE/uevent"
|
||||||
fi
|
fi
|
||||||
|
[[ "$BATS" == "" ]] && printf "no battery\nn/a\n" && exit 33
|
||||||
|
|
||||||
if [[ "$BATS" == "" ]]; then
|
ENERGY_FULL=1
|
||||||
echo " no battery "
|
ENERGY_NOW=0
|
||||||
echo "n/a"
|
STATUS=""
|
||||||
exit 33
|
while read -r LINE; do
|
||||||
fi
|
[[ $LINE =~ POWER_SUPPLY_STATUS=Charging ]] && STATUS="⚡"
|
||||||
|
[[ $LINE =~ POWER_SUPPLY_ENERGY_FULL=([0-9]+) ]] && ENERGY_FULL=$(($ENERGY_FULL + ${BASH_REMATCH[1]}))
|
||||||
|
[[ $LINE =~ POWER_SUPPLY_ENERGY_NOW=([0-9]+) ]] && ENERGY_NOW=$(($ENERGY_NOW + ${BASH_REMATCH[1]}))
|
||||||
|
done <<< $(cat $BATS)
|
||||||
|
|
||||||
cat $BATS | gawk -v LONG="$LONG" -v COLORS="$COLORS" -v BAR="${BAR[*]}" -v COLOR="${COLOR[*]}" -v BW="${BW[*]}" -F "=" '
|
LOAD=$((${ENERGY_NOW} * 100 / ${ENERGY_FULL}))
|
||||||
|
LONG_TEXT="$STATUS$LOAD%"
|
||||||
BEGIN {
|
SHORT_TEXT="$STATUS$LOAD"
|
||||||
split(BAR, bar, / /)
|
|
||||||
split(COLOR, color, / /)
|
|
||||||
split(BW, bw, / /)
|
|
||||||
interval = 100 / length(bar)
|
|
||||||
efull = 0
|
|
||||||
enow = 0
|
|
||||||
status = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
/POWER_SUPPLY_STATUS=/ {
|
|
||||||
if (status == "") {
|
|
||||||
if ($2 == "Discharging") {
|
|
||||||
status = ""
|
|
||||||
} else if ($2 == "Charging") {
|
|
||||||
status = "⚡"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/POWER_SUPPLY_ENERGY_FULL=/ { efull += $2 }
|
|
||||||
/POWER_SUPPLY_ENERGY_NOW=/ { enow += $2 }
|
|
||||||
|
|
||||||
END {
|
|
||||||
load = enow / efull * 100
|
|
||||||
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,10 +1,8 @@
|
|||||||
if [[ "$BLOCK_INSTANCE" =~ "pm" ]]; then
|
if [[ $BLOCK_INSTANCE =~ pm ]]; then
|
||||||
FULL=$(date '+%A %-d.%-m.%Y W%V, %-I:%M:%S%p')
|
LONG_TEXT=$(date '+%A %-d.%-m.%Y W%V, %-I:%M:%S%p')
|
||||||
SHORT=$(date '+%-I:%M%p')
|
SHORT_TEXT=$(date '+%-I:%M%p')
|
||||||
else
|
else
|
||||||
FULL=$(date '+%A %-d.%-m.%Y W%V, %-H:%M:%S')
|
LONG_TEXT=$(date '+%A %-d.%-m.%Y W%V, %-H:%M:%S')
|
||||||
SHORT=$(date '+%-H:%M')
|
SHORT_TEXT=$(date '+%-H:%M')
|
||||||
fi
|
fi
|
||||||
|
LOAD=false
|
||||||
[[ "$LONG" ]] && echo $FULL || echo $SHORT
|
|
||||||
echo $SHORT
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
# start firefox
|
|
||||||
[[ "$BLOCK_BUTTON" == 2 ]] && firefox
|
[[ "$BLOCK_BUTTON" == 2 ]] && firefox
|
||||||
|
|
||||||
# get interface
|
# get interface
|
||||||
@ -8,43 +7,33 @@ else
|
|||||||
IF=$(ip route | awk '/^default/ { print $5 ; exit }')
|
IF=$(ip route | awk '/^default/ { print $5 ; exit }')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# check if network interface is empty
|
# check if network interface exists or is empty
|
||||||
if [[ -z "$IF" ]]; then
|
if [[ -z "$IF" || ! -d "/sys/class/net/$IF" ]]; then
|
||||||
[[ $LONG ]] && echo "No interface" || echo "n/a"
|
printf "$IF not found\nn/a\n"
|
||||||
exit 33
|
exit 33
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# check if the network interface exists
|
|
||||||
if [[ ! -d "/sys/class/net/$IF" ]]; then
|
|
||||||
[[ $LONG ]] && echo "No interface" || echo "n/a"
|
|
||||||
exit 33
|
|
||||||
fi
|
|
||||||
|
|
||||||
# get interface information
|
|
||||||
LAN=$(ip addr | grep -E "$IF")
|
LAN=$(ip addr | grep -E "$IF")
|
||||||
|
|
||||||
# check if interface is up
|
# check if interface is up
|
||||||
if [[ "$LAN" =~ " UP " ]]; then
|
if [[ $LAN =~ [[:space:]]UP[[:space:]] ]]; then
|
||||||
|
|
||||||
# check if interface is connected
|
# check if interface is connected
|
||||||
if [[ "$LAN" =~ \<.*UP.*\> ]]; then
|
if [[ $LAN =~ \<.*UP.*\> ]]; then
|
||||||
|
|
||||||
WAN_IP=$(curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//')
|
WAN_IP=$(curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//')
|
||||||
# check if internet connection is established
|
# check if internet connection is established
|
||||||
if [[ "$?" -eq 0 && $WAN_IP != "" ]]; then
|
if [[ "$?" -eq 0 && $WAN_IP != "" ]]; then
|
||||||
if [[ $LONG ]]; then
|
LONG_TEXT="WAN $WAN_IP"
|
||||||
echo $WAN_IP
|
SHORT_TEXT="WAN"
|
||||||
echo $WAN_IP
|
|
||||||
[[ $COLORS ]] && echo $COLOR[8] || echo $BW[8]
|
|
||||||
else
|
|
||||||
echo WAN
|
|
||||||
echo WAN
|
|
||||||
[[ $COLORS ]] && echo $COLOR[8] || echo $BW[8]
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
echo "lan"
|
# LAN_IP6=$(echo $LAN | grep -oE "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))"
|
||||||
fi
|
LONG_TEXT="LAN #TODO"
|
||||||
fi
|
SHORT_TEXT="LAN"
|
||||||
|
fi #TODO: message
|
||||||
|
fi #TODO: message
|
||||||
else
|
else
|
||||||
[[ $LONG ]] && echo "$IF: off" || echo "off"
|
LONG_TEXT="$IF off"
|
||||||
|
SHORT_TEXT="off"
|
||||||
fi
|
fi
|
||||||
|
LOAD=false
|
||||||
|
Reference in New Issue
Block a user