WizardKit/setup/linux/include_x/airootfs/etc/skel/.update_conky
2Shirt 1451035560
Don't update conkyrc directly
* By using a temp file and comparing we can avoid excessive reloading of conky
2020-01-16 15:12:43 -07:00

30 lines
789 B
Bash
Executable file

#!/bin/bash
# vim: sts=2 sw=2 ts=2
CONFIG_BASE="${HOME}/.conkyrc_base"
CONFIG_NEW="${HOME}/.conkyrc_new"
CONFIG_REAL="${HOME}/.conkyrc"
IF_LIST=($(ip l \
| egrep '^[0-9]+:\s+(eth|en|wl)' \
| sed -r 's/^[0-9]+:\s+(\w+):.*/\1/' \
| sort))
# Build new config from the default
rm "${CONFIG_NEW}"
cp "${CONFIG_BASE}" "${CONFIG_NEW}"
# Add interfaces to conkyrc_new
for i in "${IF_LIST[@]}"; do
if [[ "${i:0:1}" == "e" ]]; then
sed -i -r "s/#Network/Wired:\${alignr}\${addr $i}\n#Network/" "${CONFIG_NEW}"
else
sed -i -r "s/#Network/Wireless:\${alignr}\${addr $i}\n#Network/" "${CONFIG_NEW}"
fi
done
# Replace config if there were changes
if ! diff -q "${CONFIG_NEW}" "${CONFIG_REAL}" >/dev/null 2>&1; then
rm "${CONFIG_REAL}"
cp "${CONFIG_NEW}" "${CONFIG_REAL}"
fi