diff --git a/shared-functions.so b/shared-functions.so index 5a98b18..2841de0 100644 --- a/shared-functions.so +++ b/shared-functions.so @@ -12,10 +12,22 @@ source "$TMP" # WRITE TMP function wtmp { - > $TMP - echo "var_mailqueue_runs=$var_mailqueue_runs" >> $TMP - echo "var_conn=$var_conn" >> $TMP - echo "var_ip4=$var_ip4" >> $TMP - echo "var_ip6=$var_ip6" >> $TMP - echo "var_vpn=$var_vpn" >> $TMP + if [ "$1" = "" ]; then # no argument given + > $TMP + echo "var_mailqueue_runs=$var_mailqueue_runs" >> $TMP + echo "var_conn=$var_conn" >> $TMP + echo "var_ip4=$var_ip4" >> $TMP + echo "var_ip6=$var_ip6" >> $TMP + echo "var_vpn=$var_vpn" >> $TMP + echo "var_ns=$var_ns" >> $TMP + else # certain variables given, so only update these variables' values (avoids overlaps, esp. if status-misc.sh needs longer to be executed) + NO=$# + for ((i = 1; i <= $NO; i++)); do + VAR_NAME=${!i} # variable name + VAR_VAL=${!VAR_NAME} # value of the variable's name + + sed -Ei "s/^$VAR_NAME=.*/$VAR_NAME=$VAR_VAL/" $TMP + done + fi + } diff --git a/status-ip.sh b/status-ip.sh index 6a70b8e..f0adffd 100755 --- a/status-ip.sh +++ b/status-ip.sh @@ -41,4 +41,4 @@ else echo "Offline status is set. Turn on to enable checks" fi -wtmp # Write changes back +wtmp var_ip4 var_ip6 var_vpn # Write changes back diff --git a/status-misc.sh b/status-misc.sh index 03b4b93..0db42d1 100755 --- a/status-misc.sh +++ b/status-misc.sh @@ -52,6 +52,7 @@ function check_svn { TOOL="$TOOL;svn=$SVN_REV" } + # OUTPUT INFO ON STATUSBAR check_mailqueue check_svn @@ -64,4 +65,4 @@ echo "$TOOL" echo "/usr/share/icons/gnome/16x16/actions/format-justify-fill.png" echo "xfce4-terminal -x $CURDIR/status-interaction.sh &" -wtmp +wtmp var_mailqueue_runs # write updated values back to status file