aboutsummaryrefslogtreecommitdiff
path: root/internal/p10k.zsh
diff options
context:
space:
mode:
authorromkatv <roman.perepelitsa@gmail.com>2019-07-25 18:54:12 +0300
committerromkatv <roman.perepelitsa@gmail.com>2019-07-25 18:54:12 +0300
commit0e31c204f7e8fa589a24d4159909f50d3391fa48 (patch)
tree993a7c8c0bd28e917aa11e3073c5150c4ae974ec /internal/p10k.zsh
parentfb50402fc93b546ebd54115e0bb9d5e1943f5d8c (diff)
cleanup in nordvpn
Diffstat (limited to 'internal/p10k.zsh')
-rwxr-xr-xinternal/p10k.zsh24
1 files changed, 12 insertions, 12 deletions
diff --git a/internal/p10k.zsh b/internal/p10k.zsh
index 7e58f346..3305483b 100755
--- a/internal/p10k.zsh
+++ b/internal/p10k.zsh
@@ -2957,43 +2957,43 @@ typeset -gra __p9k_nordvpn_tag=(
function _p9k_fetch_nordvpn_status() {
setopt err_return
- unset $__p9k_nordvpn_tag P9K_NORDVPN_COUNTRY_CODE
- (( $+commands[nordvpn] ))
- [[ -e /run/nordvpnd.sock ]]
local REPLY
- zsocket /run/nordvpnd.sock 2>/dev/null
+ zsocket /run/nordvpnd.sock
local -i fd=$REPLY
{
>&$fd echo -nE - $'PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n\0\0\0\4\1\0\0\0\0\0\0N\1\4\0\0\0\1\203\206E\221bA\226\223\325\\k\337\31i=LnH\323j?A\223\266\243y\270\303\fYmLT{$\357]R.\203\223\257_\213\35u\320b\r&=LMedz\212\232\312\310\264\307`+\210K\203@\2te\206M\2035\5\261\37\0\0\5\0\1\0\0\0\1\0\0\0\0\0'
local tag len val
local -i n
- IFS='' read -r tag <&3
+ IFS='' read -t 0.25 -r tag <&3
tag=$'\015'
while true; do
tag=${__p9k_char2byte[${(q+)tag}]:-0}
(( (tag >>= 3) && tag <= $#__p9k_nordvpn_tag )) || break
tag=$__p9k_nordvpn_tag[tag]
- sysread -c n -s 1 len <&3
- (( n == 1 ))
+ sysread -c n -s 1 -t 0.25 len <&3
len=${__p9k_char2byte[${(q+)len}]}
[[ -n $len ]]
val=
(( ! len )) || {
- sysread -c n -s $len val <&3
+ sysread -c n -s $len -t 0.25 val <&3
(( n == len ))
}
typeset -g $tag=$val
- sysread -c n -s 1 tag <&3
- (( n < 2 ))
+ sysread -c n -s 1 -t 0.25 tag <&3
done
} always {
exec {fd}>&-
- [[ $P9K_NORDVPN_SERVER != (#b)([[:alpha:]]##)[[:digit:]]##.nordvpn.com ]] || P9K_NORDVPN_COUNTRY_CODE=${(U)match[1]}
}
}
function prompt_nordvpn() {
- _p9k_fetch_nordvpn_status
+ unset $__p9k_nordvpn_tag P9K_NORDVPN_COUNTRY_CODE
+ if [[ $+commands[nordvpn] == 1 && -e /run/nordvpnd.sock ]]; then
+ _p9k_fetch_nordvpn_status 2>/dev/null
+ if [[ $P9K_NORDVPN_SERVER == (#b)([[:alpha:]]##)[[:digit:]]##.nordvpn.com ]]; then
+ typeset -g P9K_NORDVPN_COUNTRY_CODE=${(U)match[1]}
+ fi
+ fi
case $P9K_NORDVPN_STATUS in
'')
_p9k_prompt_segment $0_MISSING blue white '' 0 '' '';;