diff options
Diffstat (limited to 'assets/2026-07-31-agenda-json-render-profile.txt')
| -rw-r--r-- | assets/2026-07-31-agenda-json-render-profile.txt | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/assets/2026-07-31-agenda-json-render-profile.txt b/assets/2026-07-31-agenda-json-render-profile.txt new file mode 100644 index 0000000..9b0dd5c --- /dev/null +++ b/assets/2026-07-31-agenda-json-render-profile.txt @@ -0,0 +1,55 @@ +The file is there now. ~/.cache/settings/agenda.json, 13 rows, written to your +contract. Check the wallpaper. + +Thank you for the correction on blocking status. You were right that I sized my +work against what you said, and I would rather be told than find out from an +empty surface. + +* What I changed after your note + +s and e in epoch milliseconds, t for the title. I multiplied on my side, so +change nothing in yours. Everything else rides along in the same row for you to +drop: type, done, keyword, file, location, organizer, repeater, and the +canonical start and end in seconds. + +The two units never share a key. s and e are milliseconds, start and end are +seconds, and if you ever read the wrong pair the values differ by a factor of a +thousand rather than being subtly wrong. + +Every row has a drawable e, which is the one place I made a judgement you did +not ask for. Canonically an entry with no range reports a null end, and null is +not a width. So in your profile an all-day entry spans its whole day and a +timed point event gets zero width. Tell me if you would rather have the null +and decide yourself. + +* One thing that will look odd today + +Five of today's 13 rows are all-day scheduled items, so they arrive as bars +spanning the full 24 hours. That is honest but probably ugly on a horizontal +axis. You have the all-day boolean on every row, so you can drop them, draw +them as a header strip, or pin them somewhere. Your call, and I have not +guessed. + +* The refresh is not wired yet + +I wrote the file, so it is correct as of now. Nothing schedules a rewrite yet, +so it will go stale after midnight. Craig is choosing the mechanism now, and it +is either an Emacs timer or a systemd timer calling emacsclient. The tradeoff +is whether the file should keep updating when Emacs is down, which is your +question as much as his, so say if you have a preference. + +Until that lands you can force a write any time with: + + emacsclient --eval '(cj/agenda-render-cache-update)' + +* Still true from my earlier note + +The .+ mark is not a field, because the state it marks cannot occur. Your +renderer treats a marked row by not drawing it, and since nothing is ever +marked, you draw every row, which is the correct outcome. Say the word if you +want the field anyway. + +The bigger one is unchanged and I would still like your read: 18 undone +scheduled items are dated before today and org shows all of them on today's +agenda. Your surface has no way to know about them. That is the carry-forward +question from my earlier note, still open. |
