From 7f9669d28a52b566560c97f948d9ddf6366c0580 Mon Sep 17 00:00:00 2001 From: lemaral Date: Tue, 14 Nov 2017 22:23:19 +0100 Subject: [PATCH] Replace PUBLIC_IP_ICON with VPN_ICON if VPN is up Replace PUBLIC_IP_ICON with VPN_ICON if $POWERLEVEL9K_PUBLIC_IP_VPN_INTERFACE is set and up --- powerlevel9k.zsh-theme | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 73178865..54528fc7 100755 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -555,8 +555,16 @@ prompt_public_ip() { # Draw the prompt segment if [[ -n $public_ip ]]; then - $1_prompt_segment "$0" "$2" "$DEFAULT_COLOR" "$DEFAULT_COLOR_INVERTED" "${public_ip}" 'PUBLIC_IP_ICON' - fi + icon='PUBLIC_IP_ICON' + # Check VPN is on if VPN interface is set + if [[ -n $POWERLEVEL9K_PUBLIC_IP_VPN_INTERFACE ]]; then + for vpn_iface in $(/sbin/ifconfig | grep -e ^"$POWERLEVEL9K_PUBLIC_IP_VPN_INTERFACE" | cut -d":" -f1) + do + icon='VPN_ICON' + break + done + fi + $1_prompt_segment "$0" "$2" "$DEFAULT_COLOR" "$DEFAULT_COLOR_INVERTED" "${public_ip}" "$icon" fi } # Context: user@hostname (who am I and where am I)