Commit graph

8 commits

Author SHA1 Message Date
5e961d70f4 Use short ID as unit filename instead of timestamp
Unit files are now named systab_<6-char-hex> (e.g., systab_a1b2c3),
so the ID is derived from the filename — no more SYSTAB_ID comments
in unit files, no id-to-jobname mappings in edit mode. Removes
generate_job_name, get_job_id, get_job_by_id, ensure_job_id.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 00:22:51 -07:00
b7e6a77ef5 Accept spaces or tabs as field separators in edit mode
Parse crontab lines by splitting on the first two whitespace
boundaries via regex, so both spaces and tabs work as delimiters.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 00:02:20 -07:00
661baf6c16 Add schedule format examples to edit mode header
Shows common OnCalendar patterns (hourly, every 15 min, specific
times, day-of-week) so users know what formats are available.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 23:25:11 -07:00
a231bc63e9 Fix edit mode job creation and unique name generation
- Handle multiple "new" lines in edit mode by collecting them in an
  array instead of an associative array (which collapsed duplicates)
- Use random hex suffix in job names instead of PID, avoiding
  collisions when multiple jobs are created in the same second
- Fix trap variable scoping in edit_jobs()

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 23:22:08 -07:00
941772dd5c Update CLAUDE.md to reflect edit mode and short IDs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 23:14:49 -07:00
ba875ac272 Add RemainAfterElapse=no to one-time timers
One-time timers now auto-unload from systemd after firing, so they
no longer linger as "elapsed" in list-timers. Unit files remain on
disk for ID/edit/status lookups; -C still cleans those up.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 23:12:57 -07:00
456111627d Implement full -E edit mode with short IDs
Add 6-char hex short IDs (SYSTAB_ID) embedded in unit files for
human-friendly job identification. The -E flag now opens a real
crontab-like editor where jobs can be created, updated, and deleted
by editing tab-separated ID/SCHEDULE/COMMAND lines. Legacy jobs
without IDs get one auto-assigned on first edit.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 23:01:17 -07:00
bfb273dc66 initial commit 2026-02-01 22:59:06 -07:00