outsource interaction part to separate file; better name scheming; update default status values; small improvements
This commit is contained in:
@@ -1,6 +1,12 @@
|
|||||||
|
# Status file
|
||||||
|
TMP=/tmp/status
|
||||||
|
|
||||||
# Default values when first starting the tool
|
# Default values when first starting the tool
|
||||||
var_conn="on"
|
var_conn="on"
|
||||||
var_mailqueue_runs=9
|
var_mailqueue_runs=9
|
||||||
|
var_ip4=127.0.0.1
|
||||||
|
var_ip6=::1
|
||||||
|
var_vpn="off"
|
||||||
|
|
||||||
# status-ip.sh
|
# status-ip.sh
|
||||||
IPSERV4="http://returns.plain-ipv4"
|
IPSERV4="http://returns.plain-ipv4"
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ if [ ! -e "$CURDIR"/config.cfg ]; then echo "Missing config.cfg file. Edit and r
|
|||||||
source "$CURDIR"/config.cfg
|
source "$CURDIR"/config.cfg
|
||||||
|
|
||||||
# Create temp settings file
|
# Create temp settings file
|
||||||
TMP=/tmp/statusbars
|
|
||||||
if [ ! -e "$TMP" ]; then
|
if [ ! -e "$TMP" ]; then
|
||||||
touch "$TMP"
|
touch "$TMP"
|
||||||
fi
|
fi
|
||||||
@@ -16,4 +15,7 @@ function wtmp {
|
|||||||
> $TMP
|
> $TMP
|
||||||
echo "var_mailqueue_runs=$var_mailqueue_runs" >> $TMP
|
echo "var_mailqueue_runs=$var_mailqueue_runs" >> $TMP
|
||||||
echo "var_conn=$var_conn" >> $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
|
||||||
}
|
}
|
||||||
66
status-interaction.sh
Executable file
66
status-interaction.sh
Executable file
@@ -0,0 +1,66 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
CURDIR=$(dirname "$(readlink -f "$0")")
|
||||||
|
source "$CURDIR"/shared-functions.so
|
||||||
|
|
||||||
|
# MAIL QUEUE ACTIONS
|
||||||
|
function send_mailqueue { # send queued mails
|
||||||
|
msmtp-listqueue.sh
|
||||||
|
read -p "Send these queued mails? [Y/n]: " YN
|
||||||
|
if [[ $YN =~ ^(Y|y|)$ ]]; then
|
||||||
|
msmtp-runqueue.sh
|
||||||
|
else
|
||||||
|
echo "Not sending emails"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function list_mailqueue { # list emails in queue only
|
||||||
|
msmtp-listqueue.sh
|
||||||
|
}
|
||||||
|
|
||||||
|
# CHANGE ONLINE STATUS
|
||||||
|
function switch_conn {
|
||||||
|
echo "Current connection status: $var_conn"
|
||||||
|
read -p "Switch connection status? [Y/n]: " YN
|
||||||
|
if [[ $YN =~ ^(Y|y|)$ ]]; then
|
||||||
|
if [ "$var_conn" == "off" ]; then
|
||||||
|
var_conn="on"
|
||||||
|
echo "Connection status switched to \"on\""
|
||||||
|
else
|
||||||
|
var_conn="off"
|
||||||
|
echo "Connection status switched to \"off\""
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Connection status not changed."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# OPTION SCREEN
|
||||||
|
function exec {
|
||||||
|
ACTIONS=("send mails in queue" "list mails in queue" "switch connection status [$var_conn]" "quit")
|
||||||
|
PS3="Select action: "
|
||||||
|
|
||||||
|
select action in "${ACTIONS[@]}"
|
||||||
|
do
|
||||||
|
echo # empty line after selection
|
||||||
|
case $REPLY in # $REPLY takes the numbers which is nice
|
||||||
|
1) # Show queue; ask for confirmation; if yes, send emails
|
||||||
|
send_mailqueue
|
||||||
|
break ;;
|
||||||
|
2) # Show queue
|
||||||
|
list_mailqueue
|
||||||
|
break ;;
|
||||||
|
3) # Switch online status
|
||||||
|
switch_conn
|
||||||
|
break ;;
|
||||||
|
4|"q") # exit silently, one can also press "q" instead of the number
|
||||||
|
exit 0
|
||||||
|
break ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
while :; do # endless loop
|
||||||
|
exec # interaction screen
|
||||||
|
wtmp; source "$TMP" # write changes back and load them
|
||||||
|
echo # empty line
|
||||||
|
done
|
||||||
15
status-ip.sh
15
status-ip.sh
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
CURDIR=$(dirname "$(readlink -f "$0")")
|
CURDIR=$(dirname "$(readlink -f "$0")")
|
||||||
source "$CURDIR"/shared.so
|
source "$CURDIR"/shared-functions.so
|
||||||
|
|
||||||
IP=$(wget -T 5 -q -O - $IPSERV4)
|
IP=$(wget -T 5 -q -O - $IPSERV4)
|
||||||
EXIT="$?"
|
EXIT="$?"
|
||||||
@@ -10,12 +10,16 @@ if [ "$var_conn" == "on" ]; then
|
|||||||
if $(echo $IP | grep -qE "$VPNIP"); then
|
if $(echo $IP | grep -qE "$VPNIP"); then
|
||||||
IMAGE="/usr/share/icons/gnome/16x16/apps/gnome-monitor.png"
|
IMAGE="/usr/share/icons/gnome/16x16/apps/gnome-monitor.png"
|
||||||
TEXT="VPN ($IP)"
|
TEXT="VPN ($IP)"
|
||||||
|
var_ip4="$IP"
|
||||||
|
var_vpn="on"
|
||||||
echo "<img>$IMAGE</img>"
|
echo "<img>$IMAGE</img>"
|
||||||
elif ([ "$EXIT" == 4 ] || [ "$EXIT" == 6 ] || [ "$EXIT" == 28 ]); then
|
elif ([ "$EXIT" == 4 ] || [ "$EXIT" == 6 ] || [ "$EXIT" == 28 ]); then
|
||||||
EXIT="fail"
|
EXIT="fail"
|
||||||
TEXT="t/o"
|
TEXT="t/o"
|
||||||
else
|
else
|
||||||
TEXT="$IP"
|
TEXT="$IP"
|
||||||
|
var_ip4="$IP"
|
||||||
|
var_vpn="off"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "<txt> $TEXT</txt>"
|
echo "<txt> $TEXT</txt>"
|
||||||
@@ -25,11 +29,16 @@ if [ "$var_conn" == "on" ]; then
|
|||||||
IP6=$(wget -T 5 -q -O - $IPSERV6)
|
IP6=$(wget -T 5 -q -O - $IPSERV6)
|
||||||
EXIT="$?"
|
EXIT="$?"
|
||||||
if ([ "$EXIT" == 4 ] || [ "$EXIT" == 6 ] || [ "$EXIT" == 28 ]); then
|
if ([ "$EXIT" == 4 ] || [ "$EXIT" == 6 ] || [ "$EXIT" == 28 ]); then
|
||||||
IP6="t/o"
|
TEXT="t/o"
|
||||||
|
else
|
||||||
|
TEXT="$IP6"
|
||||||
|
var_ip6="$IP6"
|
||||||
fi
|
fi
|
||||||
echo "<tool>IPv6: $IP6</tool>"
|
echo "<tool>IPv6: $TEXT</tool>"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "<txt>offline</txt>"
|
echo "<txt>offline</txt>"
|
||||||
echo "<tool>Offline status is set. Turn on to enable checks</tool>"
|
echo "<tool>Offline status is set. Turn on to enable checks</tool>"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
wtmp # Write changes back
|
||||||
|
|||||||
@@ -1,35 +1,21 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
CURDIR=$(dirname "$(readlink -f "$0")")
|
CURDIR=$(dirname "$(readlink -f "$0")")
|
||||||
source "$CURDIR"/shared.so
|
source "$CURDIR"/shared-functions.so
|
||||||
|
|
||||||
OUT=
|
OUT=
|
||||||
TOOL=
|
TOOL=
|
||||||
|
|
||||||
function exec {
|
# ONLINE STATUS
|
||||||
ACTIONS=("send mails in queue" "list mails in queue" "switch connection status" "quit")
|
function isonline {
|
||||||
PS3="Select action: "
|
if [ "$var_conn" = "off" ]; then
|
||||||
|
return 1
|
||||||
select action in "${ACTIONS[@]}"
|
else
|
||||||
do
|
return 0
|
||||||
echo # empty line after selection
|
fi
|
||||||
case $REPLY in # $REPLY takes the numbers which is nice
|
|
||||||
1) # Show queue; ask for confirmation; if yes, send emails
|
|
||||||
send_mailqueue
|
|
||||||
break ;;
|
|
||||||
2) # Show queue
|
|
||||||
list_mailqueue
|
|
||||||
break ;;
|
|
||||||
3) # Switch online status
|
|
||||||
switch_conn
|
|
||||||
break ;;
|
|
||||||
4|"q") # exit silently, one can also press "q" instead of the number
|
|
||||||
exit 0
|
|
||||||
break ;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# NUMBER OF UNSENT EMAILS
|
||||||
function check_mailqueue {
|
function check_mailqueue {
|
||||||
QUEUE=$(msmtp-listqueue.sh | grep -o "^From: " | wc -l)
|
QUEUE=$(msmtp-listqueue.sh | grep -o "^From: " | wc -l)
|
||||||
OUT="$OUT;mq=$QUEUE"
|
OUT="$OUT;mq=$QUEUE"
|
||||||
@@ -45,35 +31,6 @@ function check_mailqueue {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# MAIL QUEUE ACTIONS
|
|
||||||
function send_mailqueue {
|
|
||||||
msmtp-listqueue.sh
|
|
||||||
read -p "Send these queued mails? [Y/n]: " YN
|
|
||||||
if [[ $YN =~ ^(Y|y|)$ ]]; then
|
|
||||||
msmtp-runqueue.sh
|
|
||||||
else
|
|
||||||
echo "Not sending emails"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
function list_mailqueue {
|
|
||||||
msmtp-listqueue.sh
|
|
||||||
}
|
|
||||||
function switch_conn {
|
|
||||||
echo "Current connection status: $var_conn"
|
|
||||||
read -p "Switch connection status? [Y/n]: " YN
|
|
||||||
if [[ $YN =~ ^(Y|y|)$ ]]; then
|
|
||||||
if [ "$var_conn" == "off" ]; then
|
|
||||||
var_conn="on"
|
|
||||||
echo "Connection status switched to \"on\""
|
|
||||||
else
|
|
||||||
var_conn="off"
|
|
||||||
echo "Connection status switched to \"off\""
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "Connection status not changed."
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# SVN STATUS
|
# SVN STATUS
|
||||||
function check_svn {
|
function check_svn {
|
||||||
if isonline; then
|
if isonline; then
|
||||||
@@ -93,23 +50,7 @@ function check_svn {
|
|||||||
TOOL="$TOOL;svn=$SVN_REV"
|
TOOL="$TOOL;svn=$SVN_REV"
|
||||||
}
|
}
|
||||||
|
|
||||||
function isonline {
|
# OUTPUT INFO ON STATUSBAR
|
||||||
if [ "$var_conn" = "off" ]; then
|
|
||||||
return 1
|
|
||||||
else
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# DIRECT EXECUTE, CASE MENU
|
|
||||||
if [ "$1" == "exec" ]; then
|
|
||||||
while :; do
|
|
||||||
exec
|
|
||||||
wtmp; source "$TMP"
|
|
||||||
echo
|
|
||||||
done
|
|
||||||
else
|
|
||||||
# Show info on status bar
|
|
||||||
check_mailqueue
|
check_mailqueue
|
||||||
check_svn
|
check_svn
|
||||||
OUT=$(echo $OUT | sed -r 's/^;//')
|
OUT=$(echo $OUT | sed -r 's/^;//')
|
||||||
@@ -119,7 +60,6 @@ else
|
|||||||
echo "<txt>$OUT</txt>"
|
echo "<txt>$OUT</txt>"
|
||||||
echo "<tool>$TOOL</tool>"
|
echo "<tool>$TOOL</tool>"
|
||||||
echo "<img>/usr/share/icons/gnome/16x16/actions/format-justify-fill.png</img>"
|
echo "<img>/usr/share/icons/gnome/16x16/actions/format-justify-fill.png</img>"
|
||||||
echo "<click>xfce4-terminal -x $0 exec &</click>"
|
echo "<click>xfce4-terminal -x $CURDIR/status-interaction.sh &</click>"
|
||||||
|
|
||||||
wtmp
|
wtmp
|
||||||
fi
|
|
||||||
|
|||||||
Reference in New Issue
Block a user