# #
###############################################################################
-# Define color for messages
-BOLD="\\033[1;39m"
-DONE="\\033[1;32m"
-SKIP="\\033[1;34m"
-WARN="\\033[1;35m"
-FAIL="\\033[1;31m"
-NORMAL="\\033[0;39m"
+COLOUR_GREEN="\\033[1;32m"
+COLOUR_RED="\\033[1;31m"
+COLOUR_NORMAL="\\033[0;39m"
+COLOUR_YELLOW="\\033[1;35m"
+
+COLOUR_BOLD="\\033[1;39m"
+COLOUR_DOWN=${COLOUR_RED}
+COLOUR_ERROR=${COLOUR_RED}
+COLOUR_OK=${COLOUR_GREEN}
+COLOUR_UP=${COLOUR_GREEN}
+COLOUR_WARN=${COLOUR_YELLOW}
+
+COLOUR_STP_FORWARDING=${COLOUR_GREEN}
+COLOUR_STP_DISCARDING=${COLOUR_RED}
+COLOUR_STP_LEARNING=${COLOUR_YELLOW}
+COLOUR_STP_BLOCKING=${COLOUR_YELLOW}
+
+function colours_disable() {
+ local line
+ for line in $(set | grep "^COLOUR_"); do
+ unset ${line%%=*}
+ done
+}
+
+function colours_auto_disable() {
+ if [ "${TERM}" = "dumb" ]; then
+ colours_disable
+ fi
+}