diff options
Diffstat (limited to 'config/i3blocks/scripts/iface')
-rwxr-xr-x | config/i3blocks/scripts/iface | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/config/i3blocks/scripts/iface b/config/i3blocks/scripts/iface deleted file mode 100755 index dc82438..0000000 --- a/config/i3blocks/scripts/iface +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/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/>. - -#------------------------------------------------------------------------ - -# Locate current default interface, but use only wlp (wifi) or enp (ethernet) -# TODO probably also add connection over phone -IF=$(ip route | awk '/^default .* (wlp|enp)/ { print $5 ; 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 -# Note this passes if IF is empty! - -#------------------------------------------------------------------------ - -# If no IF is selected then we want see down, not anything else. -if [ -z "$IF" ] || [[ "$(cat /sys/class/net/$IF/operstate)" = 'down' ]]; then - exit -fi - -case $1 in - -4) - AF=inet ;; - -6) - AF=inet6 ;; - *) - AF=inet6? ;; -esac - -# Use the first global scope address -IPADDR=$(ip addr show $IF | perl -n -e "/$AF ([^\/]+).* scope global/ && print \$1 and exit") - -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 nic.cz >/dev/null 2>&1; then - echo \#00FF00 # color -else - # Ping nic.cz by ip - if ping $PINGV 217.31.205.50 >/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 |