X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=myi3status;h=7183a8ff7eec6360277ed807bfad2befc7925ca4;hb=e72acaee4cf7c394ca0e35b84d3afbd8ef5a4b32;hp=9aeccca8a4b0b8676d067f915ef4e4db276b6dbd;hpb=c300392f92092b3a89281df462d42710f25d0351;p=distro-setup diff --git a/myi3status b/myi3status index 9aeccca..7183a8f 100755 --- a/myi3status +++ b/myi3status @@ -52,14 +52,16 @@ # if [ -z "$BASH_VERSION" ]; then echo "error: shell is not bash" >&2; exit 1; fi -source /a/bin/errhandle/err +source /a/bin/bash-bear-trap/bash-bear shopt -s nullglob shopt -s dotglob +tmp_focus1=$(mktemp) +tmp_focus2=$(mktemp) + mins=0 half_hours=0 -fast_blocks=30 start=$EPOCHSECONDS domins=false @@ -137,6 +139,26 @@ main() { printf '[' + if [[ -e /dev/shm/iank-status && ! -e /tmp/quiet-status ]]; then + ps_char= + eval "$(< /dev/shm/iank-status)" + fi + + touch --date="10 minutes ago" $tmp_focus1 + touch --date="30 minutes ago" $tmp_focus2 + f=/tmp/focus-last-input + + # We output a reminder to do input to the focus app if we haven't done + # it less 10 minutes ago (but dont bother if its been more than 30 + # minutes, maybe we aren't running it anymore.) + if [[ -e $f && $tmp_focus2 -ot $f && $tmp_focus1 -nt $f ]]; then + ps_char="=======FOCUS====== $ps_char" + fi + + + printf '{ "name":"status", "color":"#ED297D", "full_text": "%s' "$ps_char" + printf '"},' + if [[ $start2 ]]; then time2=$((EPOCHSECONDS - start2)) @@ -238,7 +260,7 @@ main() { # there are 9 spark levels, 1/9 = .111.... In order to keep it in bash math, we upscale # the number and divide by 111, 3 digits is good enough accuracy. - spark_index="$(( (1000000 -($EPOCHSECONDS - $day_start)*1000000 / (16*60*60) ) % 1000 / 111 ))" + spark_index="$(( (1000000 -(EPOCHSECONDS - day_start)*1000000 / (16*60*60) ) % 1000 / 111 ))" spark=" ▁▂▃▄▅▆▇█" # note: 960 minutes, so 10 minutes is about 1% day_thousandth=$(( 1000 - (EPOCHSECONDS - day_start)*1000 / (16*60*60) )) @@ -272,8 +294,14 @@ if (( $# )); then else printf '{ "version": 1, "click_events": true }\n[' while true; do - main - line= - read -r -t 3 line ||: + if [[ -e /tmp/noi3bar ]]; then + sleep 10 + else + main + line= + read -r -t 3 line ||: + fi done fi + +rm -f $tmp_focus1 $tmp_focus2