Fix bugs with incall functionality around statusbar showing call duration

master
Miles Alan 4 years ago
parent c5b665ca4f
commit 5f8aad0386
  1. 2
      scripts/core/sxmo_statusbar.sh
  2. 2
      scripts/modem/sxmo_modemcall.sh
  3. 21
      scripts/notifications/sxmo_notificationmonitor.sh
  4. 2
      scripts/notifications/sxmo_notificationsmenu.sh

@ -8,7 +8,7 @@ update() {
if pgrep -f sxmo_modemcall.sh; then
NOWS="$(date +"%s")"
CALLSTARTS="$(date +"%s" -d "$(
grep call_start ~/.config/sxmo/modem/modemlog.tsv |
grep -aE 'call_start|call_pickup' "$XDG_CONFIG_HOME"/sxmo/modem/modemlog.tsv |
tail -n1 |
cut -f1
)")"

@ -9,7 +9,7 @@ fatalerr() {
mmcli -m "$(mmcli -L | grep -oE 'Modem\/([0-9]+)' | cut -d'/' -f2)" --voice-hangup-all
alsactl --file /usr/share/sxmo/alsa/default_alsa_sound.conf restore
notify-send "$1"
setsid -f sh -c 'sleep 2; smxo_statusbarupdate.sh'
setsid -f sh -c 'sleep 2; sxmo_statusbarupdate.sh'
kill -9 0
}

@ -23,7 +23,7 @@ handlenewnotiffile(){
if [ "$(wc -l "$NOTIFFILE" | cut -d' ' -f1)" -lt 3 ]; then
echo "Invalid notification file $NOTIFFILE found (<3 lines -- see notif spec in sxmo_notifwrite.sh), deleting!" >&2
rm "$NOTIFFILE"
rm -f "$NOTIFFILE"
else
sxmo_setpineled green 1;
notificationhook &
@ -32,9 +32,9 @@ handlenewnotiffile(){
NOTIFMSG="$(tail -n+3 "$NOTIFFILE" | cut -c1-70)"
if dunstify --action="2,open" "$NOTIFMSG" | grep 2; then
eval "$NOTIFACTION"
setsid -f sh -c "$NOTIFACTION" &
elif [ -e "$NOTIFWATCHFILE" ]; then
inotifywait "$NOTIFWATCHFILE" && rm -f "$NOTIFFILE" &
(inotifywait "$NOTIFWATCHFILE" && rm -f "$NOTIFFILE") &
fi
fi
}
@ -48,24 +48,19 @@ recreateexistingnotifs() {
monitorforaddordelnotifs() {
while true; do
find "$NOTIFDIR"/ -type f -mindepth 1 | read -r || sxmo_setpineled green 0
inotifywait -e create,attrib,moved_to,delete,delete_self,moved_from "$NOTIFDIR"/ | (
INOTIFYOUTPUT="$(cat)"
INOTIFYEVENTTYPE="$(echo "$INOTIFYOUTPUT" | cut -d" " -f2)"
case "$INOTIFYEVENTTYPE" in
"CREATE"|"MOVED_TO","ATTRIB")
NOTIFFILE="$NOTIFDIR/$(echo "$INOTIFYOUTPUT" | cut -d" " -f3)"
handlenewnotiffile "$NOTIFFILE"
;;
"DELETE"|"DELETE_SELF"|"MOVED_FROM")
# E.g. if no more notifications unset LED
find "$NOTIFDIR"/ -type f -mindepth 1 | read -r || sxmo_setpineled green 0
;;
esac
echo "$INOTIFYEVENTTYPE" | grep -E "CREATE|MOVED_TO|ATTRIB" || continue
NOTIFFILE="$NOTIFDIR/$(echo "$INOTIFYOUTPUT" | cut -d" " -f3)"
handlenewnotiffile "$NOTIFFILE"
) & wait
done
}
pgrep -f "$(command -v sxmo_notificationmonitor.sh)" | grep -Ev "^${$}$" | xargs kill
rm -f $NOTIFDIR/incomingcall
sxmo_setpineled green 0
recreateexistingnotifs
monitorforaddordelnotifs

@ -25,7 +25,7 @@ notificationmenu() {
PICKEDNOTIFFILE="$(echo "$CHOICES" | grep "$PICKEDCONTENT" | cut -d^ -f2 | tr -d ' ')"
NOTIFACTION="$(head -n1 "$PICKEDNOTIFFILE")"
eval "$NOTIFACTION" &
setsid -f sh -c "$NOTIFACTION" &
rm "$PICKEDNOTIFFILE"
}

Loading…
Cancel
Save