speedwm-personal/modules/module_time
2022-11-27 01:12:14 +01:00

55 lines
1.3 KiB
Bash
Executable file

#!/bin/sh
# time module for status/stellar
# load config
module_config
[ -e "$HOME/.config/speedwm/statusrc" ] && . $HOME/.config/speedwm/statusrc
[ "$ENABLE_ITEM2" = "true" ] || exit
command -v date > /dev/null || exit
# click
CLICK() {
# values
TIME_SECOND="$(date +%S)"
TIME_MINUTE="$(date +%M)"
TIME_HOUR="$(date +%H)"
TIME_FULL="$(date +%T)"
TIME_ZONE="$(date +%Z)"
ICON="$ITEM2_ICON"
[ -e "/tmp/speedwm-button" ] && BUTTON="$(cat /tmp/speedwm-button)" || BUTTON="0"
[ -z "$TERMINAL" ] && TERMINAL=st
[ ! -z "$ICONSPACING" ] && ICONSPACING=" " # one character spacing
# send the notification
SEND_NOTIF() {
FULL_TIME="${ICON}${ICONSPACING}The time is $TIME_FULL $TIME_ZONE."
notify-send "$FULL_TIME"
# some information
echo "Notification sent successfully!"
echo "INFO: $FULL_TIME"
return
}
command -v notify-send > /dev/null && SEND_NOTIF || echo "FATAL: libnotify not installed, can't send notification."
return
}
# information itself
PRINT() {
HOURS="$(date +%H)"
MINUTES="$(date +%M)"
SECONDS="$(date +%S)"
echo "$ITEM2_SEPARATOR $ITEM2_ICON $ITEM2_FORMAT" | sed "s|@h|$HOURS|; s|@m|$MINUTES|; s|@s|$SECONDS|"
}
# argument 1
case "$1" in
"") CLICK ;;
"--print-file") PRINT > /tmp/module_time ;;
"--print") PRINT ;;
"--click") CLICK ;;
esac