You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.0 KiB
37 lines
1.0 KiB
#!/usr/bin/env sh |
|
|
|
# include common definitions |
|
# shellcheck source=scripts/core/sxmo_common.sh |
|
. "$(dirname "$0")/sxmo_common.sh" |
|
|
|
notificationmenu() { |
|
CHOICES="$icon_cls Close Menu\n$icon_del Clear Notifications" |
|
# shellcheck disable=SC2045 |
|
for NOTIFFILE in $(ls -tr "$NOTIFDIR"); do |
|
NOTIFMSG="$(tail -n+3 "$NOTIFDIR/$NOTIFFILE" | tr "\n^" " ")" |
|
NOTIFHRANDMIN="$(stat --printf %y "$NOTIFDIR/$NOTIFFILE" | grep -oE '[0-9]{2}:[0-9]{2}')" |
|
CHOICES=" |
|
$CHOICES |
|
$NOTIFHRANDMIN - $NOTIFMSG ^ $NOTIFDIR/$NOTIFFILE |
|
" |
|
done |
|
|
|
PICKEDCONTENT="$( |
|
printf "%b" "$CHOICES" | |
|
xargs -0 echo | |
|
sed '/^[[:space:]]*$/d' | |
|
awk '{$1=$1};1' | |
|
cut -d^ -f1 | |
|
dmenu -c -i -p "Notifs" -l 20 |
|
)" |
|
|
|
echo "$PICKEDCONTENT" | grep -q "Close Menu" && exit 1 |
|
echo "$PICKEDCONTENT" | grep -q "Clear Notifications" && rm "$NOTIFDIR"/* && exit 1 |
|
|
|
PICKEDNOTIFFILE="$(echo "$CHOICES" | tr -s ' ' | grep -F "$PICKEDCONTENT" | cut -d^ -f2 | tr -d ' ')" |
|
NOTIFACTION="$(head -n1 "$PICKEDNOTIFFILE")" |
|
setsid -f sh -c "$NOTIFACTION" & |
|
rm "$PICKEDNOTIFFILE" |
|
} |
|
|
|
notificationmenu
|
|
|