Contains several scripts that can show information in the XFCE4 task bar (current IPs, plain output of a website, number of queued mails), and enables users to execute various actions (switch the computer to an "offline mode", send enqueued emails).
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.
 
 

81 lines
1.9 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 "$OUT"
echo "$TOOL"
wtmp var_mailqueue_runs # write updated values back to status file