diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-04 12:10:18 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-04 12:10:18 +0200 |
| commit | 89a41a913d5f0fbf385b70643cba26d64c9ed81c (patch) | |
| tree | 435776d3af4edb8e5c603fd4923a42dbeff4b08e /README.md | |
| parent | 9f586a8e79c73cba5267aa1848c72123ded37f9b (diff) | |
| download | mailctl-89a41a913d5f0fbf385b70643cba26d64c9ed81c.tar.gz mailctl-89a41a913d5f0fbf385b70643cba26d64c9ed81c.zip | |
deleted mailsync.sh as it now lives in **mailctl** project repository.
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -23,7 +23,7 @@ An agent given raw `notmuch`/`mbsync` access can do anything, including mangle t No installer, just copy files into place: ```bash -cp mailctl.py mailsync.sh ~/bin/ # executables +cp mailctl.py ~/bin/ # executable cp -r mail-organize ~/.claude/skills/ # Claude Code skill, in its own dir ``` @@ -85,7 +85,19 @@ mailctl tag "from:substack.com" --account personal --add newsletter --apply ## Companion sync script -`mailsync.sh` runs `mbsync -a` followed by `notmuch new`, with a `flock` guard and timestamped, rotated logging. It is meant for a cron/systemd timer and is **not** called by `mailctl.py`; sync and organization stay separate on purpose. +`mailsync.sh` used to live here. It now lives in the companion project +**qtmaildir**, at `assets/mailsync.sh`, which is where to look for it and where +to change it. + +It runs `mbsync -a` followed by `notmuch new`, with a `flock` guard and +timestamped, rotated logging, and is meant for a cron/systemd timer. It is still +**not** called by `mailctl.py`: sync and organization stay separate on purpose, +which is precisely why it moved. qtmaildir runs it as a subprocess and depends +on how it behaves, so the script and the constraints on it belong together. + +Two of those constraints are worth knowing if you edit it: it must print to +stdout as well as its log file, or qtmaildir's sync pane shows nothing, and it +must exit with the real status, or a failed sync is reported as a clean one. ## Claude Code skill |
