View difference between Paste ID: ss4eLrmX and MfJYGA4B
SHOW: | | - or go back to the newest paste.
1-
# Functions
1+
#!/bin/bash
2
# Functions needed for dwm statusbar
3
4
wlan_bar(){
5
	# Measure signal strength in percent
6
	sig_strength=$(cat /sys/class/net/wlan0/wireless/link)
7
	# Calculate signal strength from 1-5
8
	bar_value=$(( $sig_strength / 20 ))
9
	
10
	case $bar_value in
11
		0)
12
			echo -e "\x04[|\x01||||\x04]" ;;
13
		1)
14
			echo -e "\x04[||\x01|||\x04]" ;;
15
		2)
16
			echo -e "\x04[|||\x01||\x04]" ;;
17
		3)
18
			echo -e "\x04[||||\x01|\x04]" ;;
19
		4)
20
			echo -e "\x04[|||||]" ;;
21
		5)
22
			echo -e "\x04[|||||]" ;;
23
	esac
24
}
25
battery_status(){
26-
	charge(){
26+
27
	# Check if battery is charging or discharging
28
	charge_stat(){
29
		if [ -e /sys/class/power_supply/BAT0/status ]
30
		then
31
			case $(cat /sys/class/power_supply/BAT0/status) in
32
				Charging)
33
					charge_status="+" 
34
					;;
35
				Discharging)
36
					charge_status="-" 
37
					;;
38
			esac
39
		fi
40
	}
41
	raw_status=$(acpi -b | cut -d, -f2 | egrep -o '[0-9][0-9]*[0-9]')	
42
	if [ "x${raw_status}" = "x" ]
43
	then
44
		# No battery, must be AC
45-
		charge
45+
46
	else
47
		charge_stat
48
		# Calculate status
49
		calc_status=$(( $raw_status / 20 ))
50
		# Make status
51
		case $calc_status in
52
			0)
53
				# under 19%: RED
54
				echo -e "\x06${raw_status}$charge_status" ;;
55
	 		1)
56
	 			# under 39%: YELLOW
57
	 			echo -e "\x06${raw_status}$charge_status" ;;
58
	 		2)
59
				# under 59%: NORMAL
60
	 			echo -e "\x04${raw_status}$charge_status" ;;
61
	 		3)
62
	 			# under 79%: NORMAL
63
	 			echo -e "\x04${raw_status}$charge_status" ;;
64
	 		4)
65
				# under 99%: NORMAL
66
	 			echo -e "\x04${raw_status}$charge_status" ;;
67
	 		5)
68
				# 100%: NORMAL
69
	 			echo -e "\x04${raw_status}$charge_status" ;;
70
	 	esac
71
	fi
72
}
73
74
# make sure directory exists
75
mkdir -p /tmp/.dwm
76
77
# Make sure files exist
78-
# Write battery-status to file every minute
78+
79
80
# print all the things
81
while true
82
do
83-
done &
83+
	# Print battery percentage
84-
# Write wlan_bar to file every 10s
84+
85
	# Print SSID to file
86
	echo "$(iwconfig wlan0 | sed -e '/"/ s/"//g' -e 's/ //g' -ne '/ESSID/ p' | cut -d: -f2)" > /tmp/.dwm/ssid
87
	# Print wlan-bar
88
	wlan_bar > /tmp/.dwm/wlan
89
	sleep 1m
90-
	sleep 10s
90+