From c8d23ef43ede8a9d5a155fff1dee049a3855a60e Mon Sep 17 00:00:00 2001 From: Kasper Furnes Bernhoff Date: Mon, 17 Oct 2016 17:19:04 +0200 Subject: [PATCH 1/7] Split online status into CON and DNS --- CON.tmux | 27 ++++++++ DNS.tmux | 27 ++++++++ screenshots/offline_indicator.png | Bin 9565 -> 9564 bytes screenshots/offline_indicator_linux.png | Bin 2812 -> 2811 bytes screenshots/online_indicator.png | Bin 9500 -> 9499 bytes screenshots/online_indicator_linux.png | Bin 2845 -> 2844 bytes scripts/CON.sh | 73 ++++++++++++++++++++++ scripts/{online_status_icon.sh => DNS.sh} | 0 8 files changed, 127 insertions(+) create mode 100755 CON.tmux create mode 100755 DNS.tmux create mode 100755 scripts/CON.sh rename scripts/{online_status_icon.sh => DNS.sh} (100%) diff --git a/CON.tmux b/CON.tmux new file mode 100755 index 0000000..856ffce --- /dev/null +++ b/CON.tmux @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +online_status_icon="#($CURRENT_DIR/scripts/CON.sh)" +online_status_interpolation_string="\#{CON}" + +source $CURRENT_DIR/scripts/shared.sh + +do_interpolation() { + local string="$1" + local interpolated="${string/$online_status_interpolation_string/$online_status_icon}" + echo "$interpolated" +} + +update_tmux_option() { + local option="$1" + local option_value="$(get_tmux_option "$option")" + local new_option_value="$(do_interpolation "$option_value")" + set_tmux_option "$option" "$new_option_value" +} + +main() { + update_tmux_option "status-right" + update_tmux_option "status-left" +} +main diff --git a/DNS.tmux b/DNS.tmux new file mode 100755 index 0000000..0dff72a --- /dev/null +++ b/DNS.tmux @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +online_status_icon="#($CURRENT_DIR/scripts/DNS.sh)" +online_status_interpolation_string="\#{DNS}" + +source $CURRENT_DIR/scripts/shared.sh + +do_interpolation() { + local string="$1" + local interpolated="${string/$online_status_interpolation_string/$online_status_icon}" + echo "$interpolated" +} + +update_tmux_option() { + local option="$1" + local option_value="$(get_tmux_option "$option")" + local new_option_value="$(do_interpolation "$option_value")" + set_tmux_option "$option" "$new_option_value" +} + +main() { + update_tmux_option "status-right" + update_tmux_option "status-left" +} +main diff --git a/screenshots/offline_indicator.png b/screenshots/offline_indicator.png index f01f433657c8be05e2ca09819f732191622e6a80..88c8d84f1cb9b931957e7d36832a4f2edb23e307 100644 GIT binary patch delta 13 UcmccXb;paPGr-S%BWr{z04R|J^8f$< delta 14 VcmccPb=QlvGr-TCcOy%LDgZ2(1poj5 diff --git a/screenshots/offline_indicator_linux.png b/screenshots/offline_indicator_linux.png index dc8cded66e99d2bd5c18eaeb560a42262494b62e..73ff990a794d7d9f23a3af526f5ab0ab3eedf97f 100644 GIT binary patch delta 13 Ucmew(`dgHxGr-S%BkOlA04NRxO8@`> delta 14 Vcmew@`bU(tGr-TCcO%PpE&wa&1y}$8 diff --git a/screenshots/online_indicator.png b/screenshots/online_indicator.png index a79bedac93d8d9e3d265f8f098446416b2e8436e..58b45eaa84afccf3a1ed09a7c002573bb436c547 100644 GIT binary patch delta 13 UcmbQ^HQS4&Gr-S%BdfS703r7TFaQ7m delta 14 VcmbR3HOGs!Gr-TCcO#3qDgY&W1U&!% diff --git a/screenshots/online_indicator_linux.png b/screenshots/online_indicator_linux.png index 1300a99ded6979f54bee6052178a2d9e8a3783d8..5a43aebab59e6c2616024b0ff2de4b41765e79a4 100644 GIT binary patch delta 13 UcmbO$Hb;!5Gr-S%BdY{A03Ck=u>b%7 delta 14 VcmbOuHdl/dev/null 2>&1 +} + +print_icon() { + if $(online_status); then + printf "$(get_tmux_option "$online_option_string" "$(online_icon_default)")" + else + printf "$(get_tmux_option "$offline_option_string" "$(offline_icon_default)")" + fi +} + +main() { + print_icon +} +main diff --git a/scripts/online_status_icon.sh b/scripts/DNS.sh similarity index 100% rename from scripts/online_status_icon.sh rename to scripts/DNS.sh From 498926ea58ca096feab3c269f0f413bc05a6bba2 Mon Sep 17 00:00:00 2001 From: Kasper Furnes Bernhoff Date: Mon, 17 Oct 2016 17:29:07 +0200 Subject: [PATCH 2/7] added GW --- GW.tmux | 27 +++++++++++++++++++ scripts/GW.sh | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100755 GW.tmux create mode 100755 scripts/GW.sh diff --git a/GW.tmux b/GW.tmux new file mode 100755 index 0000000..d86242f --- /dev/null +++ b/GW.tmux @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +online_status_icon="#($CURRENT_DIR/scripts/GW.sh)" +online_status_interpolation_string="\#{GW}" + +source $CURRENT_DIR/scripts/shared.sh + +do_interpolation() { + local string="$1" + local interpolated="${string/$online_status_interpolation_string/$online_status_icon}" + echo "$interpolated" +} + +update_tmux_option() { + local option="$1" + local option_value="$(get_tmux_option "$option")" + local new_option_value="$(do_interpolation "$option_value")" + set_tmux_option "$option" "$new_option_value" +} + +main() { + update_tmux_option "status-right" + update_tmux_option "status-left" +} +main diff --git a/scripts/GW.sh b/scripts/GW.sh new file mode 100755 index 0000000..e4cbd65 --- /dev/null +++ b/scripts/GW.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +online_option_string="@online_icon" +offline_option_string="@offline_icon" +ping_timeout_string="@ping_timeout" +route_to_ping_string="@route_to_ping" + +online_icon_osx="✅ " +online_icon="✔" +offline_icon_osx="⛔️ " +offline_icon_cygwin="X" +offline_icon="❌ " +ping_timeout_default="3" +route_to_ping_default="$(ip route | awk NR==1'{print $3}')" + +source $CURRENT_DIR/shared.sh + +is_osx() { + [ $(uname) == "Darwin" ] +} + +is_cygwin() { + [[ $(uname) =~ CYGWIN ]] +} + +online_icon_default() { + if is_osx; then + echo "$online_icon_osx" + else + echo "$online_icon" + fi +} + +offline_icon_default() { + if is_osx; then + echo "$offline_icon_osx" + elif is_cygwin; then + echo "$offline_icon_cygwin" + else + echo "$offline_icon" + fi +} + +online_status() { + if is_osx; then + local timeout_flag="-t" + else + local timeout_flag="-w" + fi + if is_cygwin; then + local number_pings_flag="-n" + else + local number_pings_flag="-c" + fi + local ping_timeout="$(get_tmux_option "$ping_timeout_string" "$ping_timeout_default")" + local ping_route="$(get_tmux_option "$route_to_ping_string" "$route_to_ping_default")" + ping "$number_pings_flag" 1 "$timeout_flag" "$ping_timeout" "$ping_route" >/dev/null 2>&1 +} + +print_icon() { + if $(online_status); then + printf "$(get_tmux_option "$online_option_string" "$(online_icon_default)")" + else + printf "$(get_tmux_option "$offline_option_string" "$(offline_icon_default)")" + fi +} + +main() { + print_icon +} +main From f6ed6d8da3dde9b71b93c29018d77783a3b38da3 Mon Sep 17 00:00:00 2001 From: Kasper Furnes Bernhoff Date: Mon, 17 Oct 2016 17:42:09 +0200 Subject: [PATCH 3/7] Small change to icons --- scripts/CON.sh | 4 ++-- scripts/DNS.sh | 4 ++-- scripts/GW.sh | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/CON.sh b/scripts/CON.sh index 0ba67e6..12e68b5 100755 --- a/scripts/CON.sh +++ b/scripts/CON.sh @@ -8,10 +8,10 @@ ping_timeout_string="@ping_timeout" route_to_ping_string="@route_to_ping" online_icon_osx="✅ " -online_icon="✔" +online_icon="ok" offline_icon_osx="⛔️ " offline_icon_cygwin="X" -offline_icon="❌ " +offline_icon="down " ping_timeout_default="3" route_to_ping_default="8.8.8.8" diff --git a/scripts/DNS.sh b/scripts/DNS.sh index 162c903..4cb9cef 100755 --- a/scripts/DNS.sh +++ b/scripts/DNS.sh @@ -8,10 +8,10 @@ ping_timeout_string="@ping_timeout" route_to_ping_string="@route_to_ping" online_icon_osx="✅ " -online_icon="✔" +online_icon="ok" offline_icon_osx="⛔️ " offline_icon_cygwin="X" -offline_icon="❌ " +offline_icon="down" ping_timeout_default="3" route_to_ping_default="www.google.com" diff --git a/scripts/GW.sh b/scripts/GW.sh index e4cbd65..eda06a0 100755 --- a/scripts/GW.sh +++ b/scripts/GW.sh @@ -8,10 +8,10 @@ ping_timeout_string="@ping_timeout" route_to_ping_string="@route_to_ping" online_icon_osx="✅ " -online_icon="✔" +online_icon="ok" offline_icon_osx="⛔️ " offline_icon_cygwin="X" -offline_icon="❌ " +offline_icon="down" ping_timeout_default="3" route_to_ping_default="$(ip route | awk NR==1'{print $3}')" From 0706b403c442d219ca8d44bf92188946799df7e0 Mon Sep 17 00:00:00 2001 From: Kasper Furnes Bernhoff Date: Mon, 17 Oct 2016 17:47:11 +0200 Subject: [PATCH 4/7] Added the original script back in preperation for pull request --- scripts/online_status_icon.sh | 73 +++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 scripts/online_status_icon.sh diff --git a/scripts/online_status_icon.sh b/scripts/online_status_icon.sh new file mode 100644 index 0000000..162c903 --- /dev/null +++ b/scripts/online_status_icon.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +online_option_string="@online_icon" +offline_option_string="@offline_icon" +ping_timeout_string="@ping_timeout" +route_to_ping_string="@route_to_ping" + +online_icon_osx="✅ " +online_icon="✔" +offline_icon_osx="⛔️ " +offline_icon_cygwin="X" +offline_icon="❌ " +ping_timeout_default="3" +route_to_ping_default="www.google.com" + +source $CURRENT_DIR/shared.sh + +is_osx() { + [ $(uname) == "Darwin" ] +} + +is_cygwin() { + [[ $(uname) =~ CYGWIN ]] +} + +online_icon_default() { + if is_osx; then + echo "$online_icon_osx" + else + echo "$online_icon" + fi +} + +offline_icon_default() { + if is_osx; then + echo "$offline_icon_osx" + elif is_cygwin; then + echo "$offline_icon_cygwin" + else + echo "$offline_icon" + fi +} + +online_status() { + if is_osx; then + local timeout_flag="-t" + else + local timeout_flag="-w" + fi + if is_cygwin; then + local number_pings_flag="-n" + else + local number_pings_flag="-c" + fi + local ping_timeout="$(get_tmux_option "$ping_timeout_string" "$ping_timeout_default")" + local ping_route="$(get_tmux_option "$route_to_ping_string" "$route_to_ping_default")" + ping "$number_pings_flag" 1 "$timeout_flag" "$ping_timeout" "$ping_route" >/dev/null 2>&1 +} + +print_icon() { + if $(online_status); then + printf "$(get_tmux_option "$online_option_string" "$(online_icon_default)")" + else + printf "$(get_tmux_option "$offline_option_string" "$(offline_icon_default)")" + fi +} + +main() { + print_icon +} +main From 8130f61399f2b0f7e24fca0d96d5cd42770e162a Mon Sep 17 00:00:00 2001 From: KFBI1706 Date: Thu, 20 Oct 2016 17:35:11 +0200 Subject: [PATCH 5/7] Botched a fix for finding the ip on mac --- scripts/GW.sh | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/GW.sh b/scripts/GW.sh index eda06a0..28ff798 100755 --- a/scripts/GW.sh +++ b/scripts/GW.sh @@ -13,9 +13,6 @@ offline_icon_osx="⛔️ " offline_icon_cygwin="X" offline_icon="down" ping_timeout_default="3" -route_to_ping_default="$(ip route | awk NR==1'{print $3}')" - -source $CURRENT_DIR/shared.sh is_osx() { [ $(uname) == "Darwin" ] @@ -25,6 +22,15 @@ is_cygwin() { [[ $(uname) =~ CYGWIN ]] } +if is_osx; then + route_to_ping_default="$(ifconfig en0 | grep netmask | cut -d ' ' -f2)" +else + route_to_ping_default="$(ip route | awk NR==1'{print $3}')" +fi + +source $CURRENT_DIR/shared.sh + + online_icon_default() { if is_osx; then echo "$online_icon_osx" From 69e80c80740e9a552f1a142ada50e10c90e1c465 Mon Sep 17 00:00:00 2001 From: KFBI1706 Date: Sun, 23 Oct 2016 07:19:03 +0200 Subject: [PATCH 6/7] Add color coded status, maybe make a toggle for this --- scripts/CON.sh | 4 ++-- scripts/DNS.sh | 4 ++-- scripts/GW.sh | 5 +++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/scripts/CON.sh b/scripts/CON.sh index 12e68b5..9b5f6be 100755 --- a/scripts/CON.sh +++ b/scripts/CON.sh @@ -8,10 +8,10 @@ ping_timeout_string="@ping_timeout" route_to_ping_string="@route_to_ping" online_icon_osx="✅ " -online_icon="ok" +online_icon="#[fg=green]ok##[fg=white]" +offline_icon="#[fg=red]down##[fg=white]" offline_icon_osx="⛔️ " offline_icon_cygwin="X" -offline_icon="down " ping_timeout_default="3" route_to_ping_default="8.8.8.8" diff --git a/scripts/DNS.sh b/scripts/DNS.sh index 4cb9cef..d8b6f73 100755 --- a/scripts/DNS.sh +++ b/scripts/DNS.sh @@ -8,10 +8,10 @@ ping_timeout_string="@ping_timeout" route_to_ping_string="@route_to_ping" online_icon_osx="✅ " -online_icon="ok" +online_icon="#[fg=green]ok##[fg=white]" +offline_icon="#[fg=red]down##[fg=white]" offline_icon_osx="⛔️ " offline_icon_cygwin="X" -offline_icon="down" ping_timeout_default="3" route_to_ping_default="www.google.com" diff --git a/scripts/GW.sh b/scripts/GW.sh index eda06a0..30e38ab 100755 --- a/scripts/GW.sh +++ b/scripts/GW.sh @@ -8,10 +8,11 @@ ping_timeout_string="@ping_timeout" route_to_ping_string="@route_to_ping" online_icon_osx="✅ " -online_icon="ok" + offline_icon_osx="⛔️ " +online_icon="#[fg=green]ok##[fg=white]" +offline_icon="#[fg=red]down##[fg=white]" offline_icon_cygwin="X" -offline_icon="down" ping_timeout_default="3" route_to_ping_default="$(ip route | awk NR==1'{print $3}')" From d875b2a1706a389af0382fd8d327a475b31298eb Mon Sep 17 00:00:00 2001 From: KFBI1706 Date: Sun, 23 Oct 2016 07:22:19 +0200 Subject: [PATCH 7/7] That line was triggering my OCD --- scripts/GW.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/GW.sh b/scripts/GW.sh index 5a8a76e..9de7089 100755 --- a/scripts/GW.sh +++ b/scripts/GW.sh @@ -8,7 +8,6 @@ ping_timeout_string="@ping_timeout" route_to_ping_string="@route_to_ping" online_icon_osx="✅ " - offline_icon_osx="⛔️ " online_icon="#[fg=green]ok##[fg=white]" offline_icon="#[fg=red]down##[fg=white]"