55 lines
1.9 KiB
Bash
55 lines
1.9 KiB
Bash
#!/bin/bash
|
|
# This time blocklet will use Xresources date format if defined
|
|
# or try to determine most appropriate format based on locale and GNOME settings.
|
|
|
|
IS_ISO_8601=$(xrescat i3xrocks.date.iso8601)
|
|
DATE_FORMAT=$(xrescat i3xrocks.date.format2)
|
|
BUTTON=${button:-}
|
|
|
|
BAR_SEPARATOR_CHAR=$(xrescat wm.bar.separatorchar)
|
|
BAR_SEPARATOR_COLOR=$(xrescat wm.bar.separator.color)
|
|
|
|
if [ "$IS_ISO_8601" == "true" ]; then
|
|
DATE_VALUE="$(date --iso-8601=seconds)"
|
|
elif [ -z "$DATE_FORMAT" ]; then # No custom format defined, use system defaults
|
|
COUNTRY=$(locale | grep LC_TIME | head -n1 | cut -d "=" -f 2 | cut -d "_" -f 2 | cut -d "." -f 1)
|
|
if [ -z "$COUNTRY" ]; then
|
|
DATE_SPEC="%m/%d"
|
|
else
|
|
case $COUNTRY in
|
|
"US" | "CN" | "JP" | "KP" | "KR" | "CA" | "TW" | "HU" | "MN" | "LT" | "BT" )
|
|
DATE_SPEC="%m/%d"
|
|
;;
|
|
*)
|
|
DATE_SPEC="%d/%m"
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
TIME_FORMAT=$(gsettings get org.gnome.desktop.interface clock-format)
|
|
|
|
if [ "$TIME_FORMAT" == "'12h'" ]; then
|
|
TIME_SPEC="%I:%M"
|
|
else
|
|
TIME_SPEC="%H:%M"
|
|
fi
|
|
|
|
DATE_VALUE=$(date "+ $DATE_SPEC $TIME_SPEC")
|
|
else
|
|
DATE_VALUE=$(date "+ $DATE_FORMAT")
|
|
fi
|
|
|
|
LABEL_ICON=${icon:-$(xrescat i3xrocks.label.time )}
|
|
LABEL_COLOR=${label_color:-$(xrescat i3xrocks.label.color "#7B8394")}
|
|
VALUE_COLOR=${color:-$(xrescat i3xrocks.value.color "#D8DEE9")}
|
|
VALUE_FONT=${font:-$(xrescat i3xrocks.value.font "Source Code Pro Medium 13")}
|
|
|
|
echo "<span font_desc=\"${VALUE_FONT}\" color=\"${LABEL_COLOR}\">$LABEL_ICON</span> \
|
|
<span font_desc=\"${VALUE_FONT}\" color=\"${VALUE_COLOR}\"> $DATE_VALUE</span> \
|
|
<span font_desc=\"${VALUE_FONT}\" color=\"${BAR_SEPARATOR_COLOR}\">$BAR_SEPARATOR_CHAR </span>";
|
|
|
|
if [ "x${BUTTON}" == "x1" ]; then
|
|
ACTION=$(xrescat i3xrocks.action.time "regolith-control-center datetime")
|
|
/usr/bin/i3-msg -q exec "$ACTION"
|
|
fi
|