aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
13 hoursfeat(pick): icon titles for the rofi promptsHEADmasterDanilo M.1-2/+2
The udt layouts now show -p as a title plate over a wallpaper banner, so the prompts get a glyph and a colon like the other menus. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
40 hoursdocs: log the daemon to the runtime dir, and whyDanilo M.1-0/+5
Moved from a comment in hypr-theme's autostart.lua, which no longer carries comments now that the quickshell settings window edits it. The log names events, so it belongs somewhere private that is gone at reboot. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27Fix final review: hourly rebuild, validate overrides and voice templatesDanilo M.4-8/+58
- daemon(): key the rescan on signature(cfg) and the current hour, not just signature, so a quiet calendar keeps advancing its notification window instead of going stale after ~1 day. - load_overrides(): validate each value is a list of parseable durations, raising ValueError(f"override {uid!r}: ...") otherwise; the daemon's existing reload try/except keeps the previous config on failure. - load_config(): validate the say/say_now voice templates format cleanly against a stub summary/in, catching bad placeholders at load time. - notify(): pass "--" to notify-send so a summary starting with "-" is not parsed as an option. - daemon(): rebuild voice_ready() on config reload so voice changes (enabled, model path) apply without a restart. - parse_choice(): lowercase input so "Reset"/"NONE" work from rofi -i. - notify(): note the overlapping-say-children limitation with a ponytail comment naming the upgrade path. - README/spec: document the hourly rebuild and its effect on in-place .ics edits. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27Add README and example configDanilo M.2-0/+77
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27Add the udt-themed rofi picker for per-event alarmsDanilo M.2-0/+63
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27Fix review findings: ACTION:NONE alarms, negative offsets, non-ASCII UIDsDanilo M.2-7/+43
- valarms()/lead() now skip RFC 9074 ACTION:NONE placeholder VALARMs, so those events fall through to the calendar default instead of going silent. - fmt_duration() renders negative timedeltas as "-Xd Yh Zm" instead of a wrapped-around wall-clock artifact. - save_overrides() writes JSON with ensure_ascii=False and utf-8 encoding, so non-BMP UIDs (e.g. emoji) round-trip through tomllib instead of being written as surrogate-pair escapes tomllib rejects. Marked as known limits with ponytail comments (no behaviour change): - valarms()/alarms_for(): offsets add in wall-clock time, off by the jump across a DST transition. - lead(): absolute DATE-TIME triggers don't widen the expansion window. - expand(): RDATE is ignored. - rule_for(): a VEVENT with more than one RRULE line fails and is skipped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27Add the daemon loop: rescan on change, notify, speak, snoozeDanilo M.1-1/+57
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27Speak announcements with Kokoro, leading silence against clipped first wordDanilo M.1-1/+28
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27Pick alarms by precedence and compute which ones are dueDanilo M.2-0/+71
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27Expand calendar events: RRULE, EXDATE, RECURRENCE-ID, all-day, VALARMDanilo M.2-0/+178
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27Load config with defaults, read and write per-event overridesDanilo M.2-0/+77
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27Add cal-notif skeleton with duration parsing and Italian spoken formDanilo M.3-0/+164
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27Add implementation plan, clarify offset lists and calendar names in specDanilo M.2-2/+1071
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27Spec: rofi menus follow udt themingDanilo M.1-4/+15
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27Add GPLv2 license and cal-notif design specDanilo M.2-0/+508
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>