summaryrefslogtreecommitdiff
path: root/.local
diff options
context:
space:
mode:
Diffstat (limited to '.local')
-rwxr-xr-x.local/bin/statusbar/batinfo65
-rwxr-xr-x.local/bin/statusbar/bluetoothinfo8
-rwxr-xr-x.local/bin/statusbar/cpuinfo2
-rwxr-xr-x.local/bin/statusbar/timeinfo15
-rwxr-xr-x.local/bin/statusbar/volinfo22
5 files changed, 84 insertions, 28 deletions
diff --git a/.local/bin/statusbar/batinfo b/.local/bin/statusbar/batinfo
index 86ef565..58ad4e3 100755
--- a/.local/bin/statusbar/batinfo
+++ b/.local/bin/statusbar/batinfo
@@ -2,34 +2,53 @@
set -e
-status="$(acpi -abi)" # get battery and adapter info
+# get charge of battery/batteries
+POWER="$(acpi -b |\
+ sed -Ee 's/^.* ([0-9]+)%/\1/g' |\
+ awk '//{s+=$1;c++};END{printf "%.1f", s/c}' || true)"
-ARG=${1:-$BLOCK_BUTTON}
+# get charging state of adapter
+[ -n "$(acpi -a | sed -E '/on-line/!d' || true)" ] && CHARGING=1
-case $ARG in
- 1) notify-send -t $((15 * 1000)) --urgency=low "Battery status" "$status" ;;
- 4) brightnessctl -q s 10%+ ;;
- 5) brightnessctl -q s 10%- ;;
-esac
+ARG=${1:-${BLOCK_BUTTON}}
-power=$(echo "${status}" | awk '/Battery [0-9]+: [A-Z]/{s+=$4;c++}; END{printf "%.1f%%", s/c}')
+if [ -n "${ARG}" ]; then
+ if [ -z "${CHARGING}" ]; then
+ CHARGINGTXT="Not charging"
+ else
+ CHARGINGTXT="Charging"
+ fi
-icon='?'
-if [[ -z $(echo $status | sed -n '/on-line/p') ]]; then
- case "${power%.*}" in
- 100 | 9[0-9]) icon='\x0d\uf578\x0b' ;;
- 8[0-9]) icon='\uf581';;
- 7[0-9]) icon='\uf580';;
- 6[0-9]) icon='\uf57f';;
- 5[0-9]) icon='\uf57e';;
- 4[0-9]) icon='\uf57d';;
- 3[0-9]) icon='\uf57c';;
- 2[0-9]) icon='\uf57b';;
- 1[0-9]) icon='\x0e\uf57a\x0b';;
- [0-9]) icon='\x1c\uf579\x0b';;
+ case ${ARG} in
+ 1) notify-send -t $((15 * 1000)) --urgency=low \
+ "Battery status" \
+ "Battery: ${POWER}\n${CHARGINGTXT}"
+ exit 0;;
+ 4) brightnessctl -q s 10%+; exit 0;;
+ 5) brightnessctl -q s 10%-; exit 0;;
+ *) exit 1
+ esac
+fi
+
+[ -n "${CHARGING}" ] && [ -n "$(echo "${POWER%.*}" | sed -En '/9[0-9]|100/p' || true)" ] && exit 0
+
+ICON='?'
+if [ -z "${CHARGING}" ]; then
+ case "${POWER%.*}" in
+ 100 | 9[0-9]) ICON=$'\uf578' ;;
+ 8[0-9]) ICON=$'\uf581';;
+ 7[0-9]) ICON=$'\uf580';;
+ 6[0-9]) ICON=$'\uf57f';;
+ 5[0-9]) ICON=$'\uf57e';;
+ 4[0-9]) ICON=$'\uf57d';;
+ 3[0-9]) ICON=$'\uf57c';;
+ 2[0-9]) ICON=$'\uf57b';;
+ 1[0-9]) ICON=$'\uf57a';;
+ [0-9]) ICON=$'\uf579';;
+ *) exit 1
esac
else
- icon='\uf583'
+ ICON=$'\uf583'
fi
-echo -en "$icon $power"
+printf "%s %s%%\n" "${ICON}" "${POWER}"
diff --git a/.local/bin/statusbar/bluetoothinfo b/.local/bin/statusbar/bluetoothinfo
index 708f51e..80f85ab 100755
--- a/.local/bin/statusbar/bluetoothinfo
+++ b/.local/bin/statusbar/bluetoothinfo
@@ -13,7 +13,7 @@ DAEMONSTATUS="$(systemctl is-active bluetooth.service)"
if [ "$DAEMONSTATUS" == "inactive" ]; then
echo -en '\x0c\uf5b1\x0b'
case $ARG in
- 1) systemctl start bluetooth.service;;
+ 1) systemctl start bluetooth.service || notify-send 'Bluetooth' 'Please start the bluetooth service by running `systemctl start bluetooth.service`';;
esac
else
CONNECTED="$(bluetoothctl info | awk '/Name/{$1=""; print $0}')"
@@ -31,3 +31,9 @@ else
esac
fi
fi
+
+if [ "${XDG_SESSION_TYPE}" = "wayland ];then
+ sigblock -b bt
+else
+ sigdwmblocks 4
+fi
diff --git a/.local/bin/statusbar/cpuinfo b/.local/bin/statusbar/cpuinfo
index 78920a5..11b9efe 100755
--- a/.local/bin/statusbar/cpuinfo
+++ b/.local/bin/statusbar/cpuinfo
@@ -28,4 +28,4 @@ LOAD_1m=$(sed -E 's/^([^ ]+).*/\1/' /proc/loadavg | tr -d '\n')
# Thermals
TEMP="$(awk '{s+=$1}END{printf "%.1f", s / (1000*NR)}' /sys/class/thermal/thermal_zone*/temp)"
-printf "[%s  %s°]" "${LOAD_1m}" "${TEMP}"
+printf "[%s  %.01f°]\n" "${LOAD_1m}" "${TEMP}"
diff --git a/.local/bin/statusbar/timeinfo b/.local/bin/statusbar/timeinfo
index 884e165..762a490 100755
--- a/.local/bin/statusbar/timeinfo
+++ b/.local/bin/statusbar/timeinfo
@@ -7,6 +7,19 @@ TODAY_BEGIN='3c623e3c753e'
# echo -en '</b></u>' | xxd -p -
TODAY_END='3c2f753e3c2f623e'
+function timeuntil() {
+ if ! [[ "${1}" =~ "[0-9]{4}-[0-9]{1,2}-[0-9]{1,2} [0-9]{2}:[0-9]{2}" ]]; then
+ echo "argument must be of the form \"YYYY-MM-DD hh:mm\""
+ else
+ local TDIFF=$(($(date -d "${1}" +%s) - $(date +%s) - 24 * 60 * 60))
+ if [ $(($TDIFF)) -lt 0 ]; then
+ echo 'YEEHAW'
+ else
+ date -u -d @${TDIFF} '+[%d %H:%M:%S]'
+ fi
+ fi
+}
+
case $ARG in
1) notify-send --urgency=low \
"Calendar" \
@@ -14,7 +27,7 @@ case $ARG in
| xxd -p - \
| tr -d '\n' \
| sed -Ee "s/1b5b376d/${TODAY_BEGIN}/g;s/1b5b32376d/${TODAY_END}/g" \
- | xxd -p -r -)"
+ | xxd -p -r -)"
;;
3) notify-send --urgency=low \
"Weather" \
diff --git a/.local/bin/statusbar/volinfo b/.local/bin/statusbar/volinfo
index 692fe4d..72b0b1f 100755
--- a/.local/bin/statusbar/volinfo
+++ b/.local/bin/statusbar/volinfo
@@ -2,10 +2,28 @@
ARG=${1:-$BLOCK_BUTTON}
+SIG="sigdwmblocks 4"
+
+[ "$XDG_SESSION_TYPE" = "wayland" ] && SIG="sigblock -b vol"
+
case $ARG in
- 1) pamixer -t && sigdwmblocks 4;;
+ 1) pamixer -t
+ $SIG
+ ;;
+ 4) pamixer -i 5
+ $SIG
+ ;;
+ 5) pamixer -d 5
+ $SIG
+ ;;
+ *)
+ ;;
esac
VOL=$(pamixer --get-volume)
-[ "$(pamixer --get-mute)" == "true" ] && echo -ne "\x0c\ufa80${VOL}\x0b" || echo -ne "\ufa7d${VOL}"
+if [ "$(pamixer --get-mute)" = "true" ]; then
+ echo -e "\ufa80${VOL}"
+else
+ echo -e "\ufa7d${VOL}"
+fi