summaryrefslogtreecommitdiff
path: root/ar/.local/bin/statusbar
diff options
context:
space:
mode:
Diffstat (limited to 'ar/.local/bin/statusbar')
-rwxr-xr-xar/.local/bin/statusbar/sb-clock2
-rwxr-xr-xar/.local/bin/statusbar/sb-internet52
-rwxr-xr-xar/.local/bin/statusbar/sb-keyboard4
-rwxr-xr-xar/.local/bin/statusbar/sb-repos2
4 files changed, 50 insertions, 10 deletions
diff --git a/ar/.local/bin/statusbar/sb-clock b/ar/.local/bin/statusbar/sb-clock
index a5992a5..d909326 100755
--- a/ar/.local/bin/statusbar/sb-clock
+++ b/ar/.local/bin/statusbar/sb-clock
@@ -1,7 +1,7 @@
#!/bin/sh
# Get current hour and minute
-calendar="🗓️"
+calendar="🗓"
hour=$(date '+%I')
minute=$(date '+%M')
diff --git a/ar/.local/bin/statusbar/sb-internet b/ar/.local/bin/statusbar/sb-internet
index df43676..baa5ebd 100755
--- a/ar/.local/bin/statusbar/sb-internet
+++ b/ar/.local/bin/statusbar/sb-internet
@@ -4,34 +4,74 @@
# Show 🌐 if connected to ethernet or ❎ if none.
# Show 🛰️ if a vpn connection is active
+eth_con="$(nmcli -t -f NAME,TYPE,DEVICE connection show |
+ awk -F: '$2=="ethernet" && $3!="" { print $1; exit }')"
+
+wifi_con="$(nmcli -t -f NAME,TYPE connection show |
+ awk -F: '$2=="wifi" { print $1; exit }')"
+
+if [ -n "$eth_con" ]; then
+ nmcli connection modify "$eth_con" ipv4.method auto
+ nmcli connection modify "$eth_con" ipv4.never-default no
+ nmcli connection modify "$eth_con" ipv4.dns-priority -42
+ nmcli connection modify "$eth_con" ipv4.route-metric 100
+ nmcli connection modify "$eth_con" connection.autoconnect yes
+fi
+
+if [ -n "$wifi_con" ]; then
+ nmcli connection modify "$wifi_con" ipv4.dns-priority 100
+ nmcli connection modify "$wifi_con" ipv4.route-metric 600
+fi
+
case $BLOCK_BUTTON in
1)
"$TERMINAL" -e nmtui
pkill -RTMIN+7 dwmblocks
;;
+2)
+ wifi_dev="$(nmcli -t -f DEVICE,TYPE device |
+ awk -F: '$2=="wifi" { print $1; exit }')"
+
+ wifi_state="$(nmcli -t -f DEVICE,STATE device |
+ awk -F: -v dev="$wifi_dev" '$1==dev { print $2 }')"
+
+ if [ "$wifi_state" = "connected" ]; then
+ nmcli radio wifi off
+ notify-send "Wi-Fi" "Wi-Fi disconnected"
+ else
+ nmcli radio wifi on
+ notify-send "Wi-Fi" "Wi-Fi connected"
+ fi
+
+ pkill -RTMIN+7 dwmblocks
+ ;;
3) notify-send "🌐 Internet module" "\- Left click to connect
❌: wifi disabled
📡: no wifi connection
🛜: wifi connection with quality
❎: no ethernet
🌐: ethernet working
-🛰️: vpn is active
+🛰: vpn is active
" ;;
6) setsid -f "$TERMINAL" -e "$EDITOR" "$0" ;;
esac
# Wifi
-if grep -q 'up' /sys/class/net/w*/operstate; then
- wifiicon="$(awk '/^\s*w/ { print "🛜" int($3 * 100 / 70) "%" }' /proc/net/wireless)"
-elif grep -q 'down' /sys/class/net/w*/operstate; then
- grep -q '0x1003' /sys/class/net/w*/flags && wifiicon="📡" || wifiicon="❌"
+if grep -q 'up' /sys/class/net/w*/operstate 2>/dev/null; then
+ if grep -q '^\s*w' /proc/net/wireless; then
+ wifiicon="$(awk '/^\s*w/ { print "🛜" int($3 * 100 / 70) "%" }' /proc/net/wireless)"
+ else
+ wifiicon="📡"
+ fi
+elif grep -q 'down' /sys/class/net/w*/operstate 2>/dev/null; then
+ wifiicon="❌"
fi
# Ethernet
grep -q 'up' /sys/class/net/e*/operstate && ethericon="🌐" || ethericon="❎"
# TUN
-[ -n "$(cat /sys/class/net/tun*/operstate 2>/dev/null)" ] && tunicon="🛰️"
+grep -q 'up' /sys/class/net/tun*/operstate 2>/dev/null && tunicon="🛰"
icons=""
[ -n "$wifiicon" ] && icons="${icons}$wifiicon "
diff --git a/ar/.local/bin/statusbar/sb-keyboard b/ar/.local/bin/statusbar/sb-keyboard
index 34fa2bc..67b5f6d 100755
--- a/ar/.local/bin/statusbar/sb-keyboard
+++ b/ar/.local/bin/statusbar/sb-keyboard
@@ -5,7 +5,7 @@
case $BLOCK_BUTTON in
1) fcitx5-remote -t && kill -44 "$(pidof "${STATUSBAR:-dwmblocks}")" ;;
2) remaps ;;
-3) notify-send "⌨️ Input Method module" "\- Shows current input method (defalt US)
+3) notify-send "⌨ Input Method module" "\- Shows current input method (defalt US)
- Left click to switch language (EN/KO)
- Middle click to change keyboard" ;;
6) setsid -f "$TERMINAL" -e "$EDITOR" "$0" ;;
@@ -28,4 +28,4 @@ hangul) lang="KO" ;;
*) lang="??" ;;
esac
-echo "⌨️$lang"
+echo "⌨$lang"
diff --git a/ar/.local/bin/statusbar/sb-repos b/ar/.local/bin/statusbar/sb-repos
index 2c259ba..d5acfac 100755
--- a/ar/.local/bin/statusbar/sb-repos
+++ b/ar/.local/bin/statusbar/sb-repos
@@ -9,7 +9,7 @@ private_repos="$HOME/Private/repos"
public_repos="${XDG_PUBLICSHARE_DIR:-${HOME}/Public}/repos"
# Icon indicators
-dotfiles_icon="⚙️"
+dotfiles_icon="⚙"
suckless_icon="🛠"
private_icon="🏠"
public_icon="🏢"