#!/usr/bin/env bash if [[ -z $UID || ! -d "/run/user/$UID" ]] then echo "error" exit 2 fi ENVIRONMENT_FILE="/run/user/$UID/network-environment" SSID=$(iwgetid -r) if [[ "$SSID" == "011010010011" ]] then ENVIRONMENT="home" SYMBOL="🏠" COLOR="#88bbff" elif [[ "$SSID" == "100111010110" ]] then ENVIRONMENT="mobile" SYMBOL="🌍" elif [[ "$SSID" == "subraum" ]] then ENVIRONMENT="subraum" SYMBOL="🚀" COLOR="#ff7020" elif [[ "$SSID" == "eduroam" ]] then ENVIRONMENT="uni" SYMBOL="🎓" elif [[ "$SSID" == "Robs_IPhone" ]] then ENVIRONMENT="work" SYMBOL="🏢" elif [[ "$SSID" == "congress" ]] then ENVIRONMENT="congress" SYMBOL="🚀" COLOR="#ff00aa" else ENVIRONMENT="unknown" SYMBOL="🌍" fi LAST_ENVIRONMENT=`cat $ENVIRONMENT_FILE` echo "$ENVIRONMENT" > $ENVIRONMENT_FILE output_block() { echo "$1" } if [[ "$ENVIRONMENT" != "$LAST_ENVIRONMENT" ]]; then # new environment if [[ -z ENVIRONMENT_EFFECT ]]; then output_block "$SYMBOL $ENVIRONMENT_EFFECT" else output_block "<span color='${COLOR:-#ffb840}'>$SYMBOL $ENVIRONMENT</span>" fi # run environment handler ACTIVATION_HANDLER=$HOME/run/network-environment/activation_handler if [[ -x $ACTIVATION_HANDLER ]] then $ACTIVATION_HANDLER "$ENVIRONMENT" "$SYMBOL" >/dev/null fi else output_block "$SYMBOL $ENVIRONMENT" # only invoke click handlers if the network has not changed if [[ $BLOCK_BUTTON == "1" ]]; then notify-send "$ENVIRONMENT primary"; elif [[ $BLOCK_BUTTON == "3" ]]; then notify-send "$ENVIRONMENT secondary"; fi fi