From 44641c5e6a1a7aab269b32589effc2d91cb81a16 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Tue, 2 Nov 2021 19:10:59 +0100 Subject: Add desk script --- bin/desk | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 bin/desk diff --git a/bin/desk b/bin/desk new file mode 100755 index 0000000..fab05b7 --- /dev/null +++ b/bin/desk @@ -0,0 +1,38 @@ +#!/bin/sh + +[ -n "$DEBUG" ] && set -x + +export DESK="DA:02:BE:81:EB:77" + +error() { + notify-send -i /usr/share/icons/mdi/scalable/desk.svg -u critical "desk $1" "${2}" +} + +pos= +case "$1" in + sit | down) pos=780 ;; + stand | up) pos=1150 ;; + *) error "$1" "no position given" ;; +esac + +printf "ensure bluetoothd is started...\n" +{ rc-service bluetooth status || doas rc-service bluetooth start; } >/dev/null + +trap '{ exit 3; }' INT +retries= +while true; do + printf "running bluedesk...\n" + err=$(bluedesk "${pos}" 2>&1 1>/dev/stdout) + # shellcheck disable=SC2181 + if [ $? -ne 0 ]; then + error "$1" "${err}" + sleep 1 + retries=$((retries + 1)) + if [ "${#retries}" -gt 2 ]; then + error "$1" "giving up" + exit 1 + fi + else + exit 0 + fi +done -- cgit 1.4.1