- Merge 3 separate (after! mu4e) blocks into one
- Fix key conflict: bookmark Today was ?t, same as maildir Trash
New: Today=?d, Trash shortcut=?T (uppercase)
- Remove duplicate mu4e-view-mode-hook (gnus-article-prepare-hook suffices)
- Move sendmail + message-cite settings into the single block
- Add inline comments explaining gnus-cite-* vs message-cited-text-*
duplication (separate face systems, same visual intent)
- Minor: group settings with section comments for readability
- childFrameCompletionActive flag: set by child frame handler,
cleared when no child frame visible on parent's next cycle
- Posts FocusedUIElementChanged on parent buffer element to
restore VoiceOver character echo after corfu closes
- corfu-auto-delay: 1.0 → 2.0 (reduce popup noise)
Child frames cause VoiceOver to announce 'X window' and break
focus tracking. corfu-terminal renders via overlays, which the
VoiceOver overlay completion patch (0007) handles automatically.
Vertico default renders candidates via overlay before-string which
is invisible to the nsterm.m AX text extraction. vertico-buffer-mode
renders in a real buffer window that the accessibility layer handles.
- Start from today (no past days visible)
- Show 7 days forward
- Skip done/cancelled items
- No duplicate: skip scheduled if deadline already shown
- Suppress early deadline warning if scheduled date exists
- Priority-based sorting within groups (A > B > C)
- Overdue deadlines at top
- Due today / scheduled today separated
- Due soon (upcoming deadlines) in own group
- No duplicates (items match first group only)
- Kyndryl/ZTJ groups by tag without deadline overlap
- Explicitly set dirvish-hide-details t
- Keep dired-mode-hook as primary trigger
- Add dired-after-readin-hook as failsafe (catches late buffer setup)
- Remove dirvish-directory-view-mode-hook (dirvish handles via its own var)
dirvish-override-dired-mode may bypass dired-mode-hook.
Add hook to dirvish-directory-view-mode-hook as well.
Toggle details with ( in dired/dirvish buffers.
Remove file-time and file-size from default dirvish-attributes so
screen reader reads only filenames. Add D keybinding to toggle
full details on/off in dirvish buffers.
- Start time prompt: empty = all-day, HH:MM = timed
- End prompt: HH:MM (same day), YYYY-MM-DD (multi-day), YYYY-MM-DD HH:MM
- All formats match what ox-icalendar/org-caldav export correctly
- Set org-icalendar-timezone to Europe/Prague
- Set org-icalendar-with-timestamps to active
- New capture template 'c' creates SCHEDULED entry on selected date
- calfw-org-capture-template set for calfw integration
- Events go to calendar_outbox.org (synced via org-caldav twoway)
- Keybinding: a = add event, RET = open agenda day
- biblio-crossref-lookup doesn't exist; use biblio-lookup (universal)
- biblio-doi: require biblio before biblio-doi (load order fix)
- my/bib-insert-manual: template for 8 entry types with cursor at KEY
- All commands lazy-load biblio via (require 'biblio)
- SPC B s = universal search (prompts for backend: CrossRef/arXiv/DBLP)
- SPC B m = manual entry template
- SPC B D = import by DOI
- setq! for citar-bibliography (Doom custom setter, fixes void variable)
- my/bib-new: create new .bib for a project
- my/bib-import-doi: import reference by DOI
- Per-project: .dir-locals.el or #+BIBLIOGRAPHY: in org header
- SPC B prefix (not SPC b which is buffer)
Reverted to cf4b486 (last known working state), then added:
1. org-caldav-save-directory explicitly set to ~/org/
State files: .org-caldav-<md5hash>.el (one per calendar URL+ID).
Delete them to reset sync state.
2. defadvice around org-caldav-update-events-in-org: condition-case
catches any error (nil fields, retrieval failures) so sync state
is saved and remaining calendars continue.
Removed: Fix#1 (@encoding), Fix#3 (set-sequence-number), @google.com
UID ignore logic — all 775 @google.com events were deleted from server
(backup at daneel:~/caldav-backup-2026-02-25.tar.gz).