68 lines
2.6 KiB
Common Lisp

;; -*-lisp-*-
(deflisten clock--data :initial "{}"
`~/.config/eww/scripts/date.py`)
(defvar clock--show "clock")
(defwidget clock []
(box :class "module text"
:spacing 0
:orientation "v"
(label :class "special"
:text "${clock--data.hour}:${clock--data.minute}:${clock--data.second}")
(label :text "${clock--data.year}-${clock--data.month}-${clock--data.day}")))
(defwidget sideclock []
(button :onclick "echo -n $(date +%Y-%d-%m) | wl-copy"
:onrightclick "echo -n $(date +%s) | wl-copy && eww update clock--show=unixtime && sleep 2 && eww update clock--show=clock"
(overlay
(box :class "module text nebula"
:spacing 0
:space-evenly false
:orientation "v"
(centerbox :class "bigger nebula"
:space-evenly false
:width 150
:halign "center"
:orientation "h"
(box :halign "start" "${clock--data.hour}")
(box :halign "center" ":")
(box :halign "end" "${clock--data.minute}"))
(label :text "${clock--data.dow}"
:class "special")
(label :text "${clock--data.month_name} ${clock--data.day}"))
(box
:height 100
(revealer :transition "crossfade"
:reveal {clock--show == "unixtime"}
:duration {clock--show == "unixtime" ? "2s" : "500ms"}
(box :width 200
:height 50
:class "message-overlay nebula special"
(box
:space-evenly false
:spacing 0
:halign "center"
:valign "center"
:orientation "v"
"Copied UNIX"
"timestamp"
))))
(box
:height 100
(revealer :transition "crossfade"
:reveal {clock--show == "date"}
:duration {clock--show == "date" ? "2s" : "500ms"}
(box :width 200
:height 50
:class "message-overlay nebula special"
(box
:space-evenly false
:spacing 0
:halign "center"
:valign "center"
:orientation "v"
"Copied"
"current date"
)))))))