summaryrefslogtreecommitdiff
path: root/status
diff options
context:
space:
mode:
Diffstat (limited to 'status')
-rw-r--r--status/04-date.go31
-rw-r--r--status/05-time.go19
2 files changed, 50 insertions, 0 deletions
diff --git a/status/04-date.go b/status/04-date.go
new file mode 100644
index 0000000..cd8f7f2
--- /dev/null
+++ b/status/04-date.go
@@ -0,0 +1,31 @@
+package status // import "hhvn.uk/hbspbar/status"
+
+import (
+ "time"
+
+ "hhvn.uk/hbspbar/config"
+)
+
+var datewait = false
+
+// TODO: seasons
+func date(b *Block) error {
+ // opposite of sync.Once
+ if !datewait {
+ datewait = true
+ } else {
+ // Sleep til the next day comes around
+ tmrw := time.Now().AddDate(0, 0, 1)
+ tmrw = time.Date(tmrw.Year(), tmrw.Month(), tmrw.Day(), 0, 0, 0, 0, time.Local)
+ time.Sleep(time.Until(tmrw))
+ }
+
+ _, err := b.drawText(0, config.Fg, time.Now().Local().Format("Mon 02/01"))
+ if err != nil { return err }
+
+ return nil
+}
+
+func init() {
+ register("date", date, 0)
+}
diff --git a/status/05-time.go b/status/05-time.go
new file mode 100644
index 0000000..0bdfbf7
--- /dev/null
+++ b/status/05-time.go
@@ -0,0 +1,19 @@
+package status // import "hhvn.uk/hbspbar/status"
+
+import (
+ "time"
+
+ "hhvn.uk/hbspbar/config"
+)
+
+// TODO: twilight / weather
+func timef(u *Block) error {
+ _, err := u.drawText(0, config.Fg, time.Now().Local().Format("15:04:05"))
+ if err != nil { return err }
+
+ return nil
+}
+
+func init() {
+ register("time", timef, 1)
+}