The Header
The Header
Section titled “The Header”Every screen opens with the daily header — a compact dashboard of the current (or viewed) day. Feature content is assembled from each feature’s header_sections hook, so the content grows with the app. Sections are ordered by numeric priority (lower renders first), not by feature order. The great-event and running-event status lines are not feature output: they are built from core state and injected into the same priority-ordered stream (just under prayers, above sleep).
What it shows
Section titled “What it shows”- Date block — a centered header with the Jalali weekday and date, a thin separator, and the Gregorian and Hijri dates.
- Prayers — the five daily prayers with status, color-coded overdue and pre-alert nudges (red = overdue, yellow = pre-alert).
- States & events — when active (today only), one line per numbered state (
⏱ 3 friends/b food/lunch · 15:30), then a⏱ Great Eventor⏱ Event runningline with the start time. A state whose categories cannot fit wraps under a hanging indent with the· HH:MMtail kept whole, so narrow screens never hide a running slot. - Sleep & naps — total sleep duration and ranges, plus total nap time.
- Weather — Tehran conditions with an emoji (IRIMO, cached hourly); suppressed in travel mode.
- Birthdays — upcoming birthdays with age and a countdown.
- Hygiene — nudges for overdue hygiene items.
- Calendar events & reminders — three-calendar events with per-calendar icons, holiday confetti, and a tomorrow preview.
- Qada / target nudges — overdue backlog and target reminders.
Behavior
Section titled “Behavior”- On past days, the header adapts to that date and dims appropriately; time-sensitive nudges are constrained to today.
- Display width is ANSI-aware: color codes are stripped before measuring, so colored text never misaligns.
- Widths adapt to the terminal; resize to at least 80 columns for best results.
For how features contribute header content, see the header_sections hook in Architecture and dailydriver/features/HOOKS.md.