diff options
Diffstat (limited to 'config/i3blocks/scripts/iface')
-rwxr-xr-x | config/i3blocks/scripts/iface | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/config/i3blocks/scripts/iface b/config/i3blocks/scripts/iface deleted file mode 100755 index 5daffa6..0000000 --- a/config/i3blocks/scripts/iface +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/env bash -# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info> -# Copyright (C) 2014 Alexander Keller <github@nycroth.com> - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -#------------------------------------------------------------------------ - -# Use the provided interface, otherwise the device used for the default route. -IF="${IFACE:-$BLOCK_INSTANCE}" -for version in 4 6; do - IF="${IF:-$(ip -$version route | sed -n 's/^default.*dev \([^ ]*\).*/\1/p' | head -1)}" -done - -# Exit if there is no default route -[[ -z "$IF" ]] && exit - -#------------------------------------------------------------------------ - -# As per #36 -- It is transparent: e.g. if the machine has no battery or wireless -# connection (think desktop), the corresponding block should not be displayed. -[[ ! -d /sys/class/net/${IF} ]] && exit - -#------------------------------------------------------------------------ - -AF=${ADDRESS_FAMILY:-"inet6\?"} -LABEL="${LABEL:-}" - -for flag in "$1" "$2"; do - case "$flag" in - -4) - AF=inet ;; - -6) - AF=inet6 ;; - -L) - if [[ "$IF" = "" ]]; then - LABEL="iface" - else - LABEL="$IF:" - fi ;; - esac -done - -if [[ "$IF" = "" ]] || [[ "$(cat /sys/class/net/$IF/operstate)" = 'down' ]]; then - echo "${LABEL} down" # full text - echo "${LABEL} down" # short text - echo \#FF0000 # color - exit -fi - -# Use the first global scope address that matches limitation and preffer not local one) -while read -r ipaddr; do - case "$ipaddr" in - ""|169\.*|f*) - IPADDR="${IPADDR:-$ipaddr}" - continue # try another one - esac - IPADDR="$ipaddr" - break -done <<<"$(ip addr show "$IF" | sed -n 's/.*inet6\? \([^/]\+\).* scope global.*/\1/p')" - -case $BLOCK_BUTTON in - 3) echo -n "$IPADDR" | xclip -q -se c ;; -esac - -#------------------------------------------------------------------------ - -echo "$IPADDR" # full text -echo "$IPADDR" # short text - -#------------------------------------------------------------------------ -# Use ping to check if we have connection - -# We ping only once and wait for one second -PINGV="-c 1 -w 1" -# Ping nic.cz -if ping $PINGV cynerd.cz >/dev/null 2>&1; then - echo \#00FF00 # color -else - # Ping nic.cz by ip - if ping $PINGV 77.93.223.198 >/dev/null 2>&1; then - # No DNS - echo \#FFFF00 # color - else - # Ping default gateway of this interface - if ping $PINGV $(ip route show dev $IF | awk '/^default via/ {print $3}') >/dev/null 2>&1; then - # No internet connection but gateway accessible - echo \#FF9000 # color - else - # No internet connection - echo \#FF0000 # color - fi - fi -fi |