eww: add new tiles to control-center, new notification popup, new styles for a lot of widgets

This commit is contained in:
retrozinndev
2025-01-07 16:26:20 -03:00
parent 435b222e03
commit c505ecf4cf
43 changed files with 802 additions and 319 deletions
+47
View File
@@ -0,0 +1,47 @@
#!/usr/bin/env bash
# This scripts receives a notification from arg1,
# in a json format, displays in eww, counting
# down depending on notification urgency and
# removes the notification from json.
# Timeout in seconds
# When set to 0, notification will disappear
# only when hovering it.
timeout_low=3
timeout_normal=6
timeout_critical=0
if ! [[ $@ == "" ]]; then
# Urgency levels:
# Low: 0, Normal: 1, Critical: 2
urgency=$(echo $@ | jq -c ".urgency.data")
id=$(echo $@ | jq -c ".id.data")
json_popup_notifications="$(eww get json_popup_notifications)"
json_notification=$(echo $@ | jq -c '.')
if [[ $json_popup_notifications == "" ]]; then
eww update "json_popup_notifications="'{"notifications":[]}' >> /dev/null
json_popup_notifications='{"notifications":[]}'
fi
eww update "json_popup_notifications=$(echo $json_popup_notifications | jq -c ".notifications |= [$json_notification] + .")" >> /dev/null
sh $HOME/.config/eww/scripts/eww-window.sh open floating-notifications >> /dev/null
# Critical urgency is handled by eww, no need to count down
case $urgency in
0*)
sleep $timeout_low
;;
1*)
sleep $timeout_normal
;;
esac
if ! [[ $urgency == 2 ]]; then
sh $HOME/.config/eww/scripts/notification-popup-remove.sh "$id" &
fi
fi
exit 0