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 | + |