You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.1 KiB
83 lines
2.1 KiB
#!/bin/bash |
|
|
|
CURDIR=$(dirname "$(readlink -f "$0")") |
|
source "$CURDIR"/shared-functions.so |
|
|
|
OUT= |
|
TOOL= |
|
|
|
# ONLINE STATUS |
|
function isonline { |
|
if [ "$var_conn" = "off" ]; then |
|
return 1 |
|
else |
|
return 0 |
|
fi |
|
} |
|
|
|
# connection status |
|
TOOL="$TOOL;conn=$var_conn" |
|
|
|
# NUMBER OF UNSENT EMAILS |
|
function check_mailqueue { |
|
QUEUE=$($MSMTP_LIST | grep -o "^From: " | wc -l) |
|
OUT="$OUT;mq=$QUEUE" |
|
|
|
# If $QUEUE > 0 and >10 runs, show notification |
|
if [ "$QUEUE" -gt 0 ]; then |
|
var_mailqueue_runs=$(($var_mailqueue_runs + 1)) |
|
else |
|
var_mailqueue_runs=0 # reset counter if queue is empty again |
|
fi |
|
if [ "$QUEUE" -gt 0 ] && [ "$var_mailqueue_runs" -gt 9 ]; then |
|
notify-send "There are mails in the mailqueue. Remember sending them manually or switch online status." |
|
var_mailqueue_runs=0 # reset counter |
|
fi |
|
} |
|
|
|
# SVN STATUS |
|
function check_svn { |
|
if isonline; then |
|
STATUS=$(wget -T 5 -q -O - $SVNSTATUS) |
|
EXIT="$?" |
|
if ([ "$EXIT" == 4 ] || [ "$EXIT" == 6 ] || [ "$EXIT" == 28 ]); then |
|
SVN="t/o" |
|
else |
|
SVN=$(echo $STATUS | cut -d";" -f1) |
|
SVN_REV=$(echo $STATUS | cut -d";" -f2) |
|
fi |
|
else |
|
SVN="off" |
|
SVN_REV="off" |
|
fi |
|
OUT="$OUT;web=$SVN" |
|
TOOL="$TOOL;web=$SVN_REV" |
|
} |
|
|
|
# NAMESERVER STATUS |
|
function check_ns { |
|
NS=$(grep -m3 "^nameserver" /etc/resolv.conf | cut -d" " -f2 | paste -sd',') # first nameserver in /etc/resolv.conf |
|
if [ "$var_ns" == "" ]; then # var_ns is only set with status-interaction.sh, no default value in config.cfg |
|
OUT="$OUT;ns=default" |
|
else |
|
OUT="$OUT;ns=$var_ns" |
|
fi |
|
TOOL="$TOOL;ns=$NS" |
|
} |
|
|
|
|
|
# OUTPUT INFO ON STATUSBAR |
|
check_mailqueue |
|
check_svn |
|
check_ns |
|
# Replace ; by | to make it look nicely |
|
OUT=$(echo $OUT | sed -r 's/^;//') |
|
OUT=$(echo $OUT | sed -r 's/;/ \| /g') |
|
TOOL=$(echo $TOOL | sed -r 's/^;//') |
|
TOOL=$(echo $TOOL | sed -r 's/;/ \| /g') |
|
echo "<txt>$OUT</txt>" |
|
echo "<tool>$TOOL</tool>" |
|
echo "<img>/usr/share/icons/gnome/16x16/actions/format-justify-fill.png</img>" |
|
echo "<click>xfce4-terminal -x $CURDIR/status-interaction.sh &</click>" |
|
|
|
wtmp var_mailqueue_runs # write updated values back to status file
|
|
|