<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/modules, branch lkg</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=lkg</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=lkg'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2025-11-11T23:43:34+00:00</updated>
<entry>
<title>a/v recording: fix setup, add test functionality and indicator</title>
<updated>2025-11-11T23:43:34+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-11T23:43:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=3750a4e683d19aa424223618b1d67a2d963461bf'/>
<id>urn:sha1:3750a4e683d19aa424223618b1d67a2d963461bf</id>
<content type='text'>
Integrates a modeline indicator to display active recording status
in Emacs. The indicator shows "🔴Audio", "🔴Video", or "🔴A+V" based
on the active recording processes. Includes functions for starting
and stopping audio/video recordings, with sentinel processes
ensuring timely updates to the modeline. Also adds extensive
integration tests to validate modeline synchronization.
</content>
</entry>
<entry>
<title>chrono-tools: integrate and test time-zones package</title>
<updated>2025-11-11T23:42:30+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-11T23:41:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=4e6374d363194077a344d95c5290bc6386650a57'/>
<id>urn:sha1:4e6374d363194077a344d95c5290bc6386650a57</id>
<content type='text'>
Replaced the world-clock configuration with the new time-zones
package to provide an interactive world clock with fuzzy search and
time shifting features. The previous world-clock code is commented
out for potential fallback testing.
</content>
</entry>
<entry>
<title>vc-config: add git clone from clipboard URL feature</title>
<updated>2025-11-11T23:41:12+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-11T23:41:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=41fb8b06a4a7b5a7dd8d014570ca06b692b5ba26'/>
<id>urn:sha1:41fb8b06a4a7b5a7dd8d014570ca06b692b5ba26</id>
<content type='text'>
Introduce `cj/git-clone-clipboard-url` function for quick cloning of
git repositories using a URL from the clipboard. Allows for
directory selection using prefix arguments and opens the README file
post-cloning if available. Adjust keymaps to include the new
function and refine version control menu organization.
</content>
</entry>
<entry>
<title>org-drill-config: enhance org-drill display settings</title>
<updated>2025-11-11T23:40:14+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-11T23:40:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=1a445cea8e927698e5f29793ced5cd16ff4281dc'/>
<id>urn:sha1:1a445cea8e927698e5f29793ced5cd16ff4281dc</id>
<content type='text'>
Added display customization for org-drill cards, including larger
text and proportional font. Adjusted session limits to 100 cards and
30 minutes. Integrated a hook to apply these changes during drill
sessions. Updated org-drill package configuration to use the newest
revision from the main branch.
</content>
</entry>
<entry>
<title>fix: Resolve Google Calendar password prompts via advice</title>
<updated>2025-11-11T23:39:43+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-11T23:35:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=90dcf621cffdd752db02444511cb4b94adc72b50'/>
<id>urn:sha1:90dcf621cffdd752db02444511cb4b94adc72b50</id>
<content type='text'>
Fixed oauth2-auto.el caching bug using Emacs advice system (survives updates).

Root Cause:
- oauth2-auto version 20250624.1919 has `or nil` on line 206
- This completely disables the internal hash-table cache
- Every org-gcal sync requires decrypting oauth2-auto.plist from disk
- GPG passphrase prompted every ~15 minutes (violated "Frictionless" value)

The Fix (via advice):
- Created cj/oauth2-auto--plstore-read-fixed with cache enabled
- Applied as :override advice to oauth2-auto--plstore-read
- Survives package updates (unlike direct modification)
- Can be easily removed if upstream fixes the bug

Changes:
- modules/auth-config.el:
  * Added cj/oauth2-auto--plstore-read-fixed (lines 75-93)
  * Applied advice on package load (lines 96-98)
  * Added cj/clear-oauth2-auto-cache helper
  * Documented fix in commentary (lines 16-22)
- todo.org: Mark #A priority task as DONE
- docs/oauth2-auto-cache-fix.md: Detailed documentation

Result:
- Passphrase prompted ONCE per Emacs session (on cold start)
- Subsequent org-gcal syncs use cached tokens (no prompts)
- Workflow now frictionless as intended
- Fix persists across package updates

Upstream:
- Bug acknowledged in code: "Assume cache is invalidated. FIXME"
- Should report to: https://github.com/rhaps0dy/emacs-oauth2-auto
- Simple fix: Remove `or nil` on line 206
</content>
</entry>
<entry>
<title>config: Increase chime modeline lookahead and tooltip display</title>
<updated>2025-11-11T03:02:48+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-11T03:02:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=b18122731e88b7c77c9b4c3f9c6fcd961d85c112'/>
<id>urn:sha1:b18122731e88b7c77c9b4c3f9c6fcd961d85c112</id>
<content type='text'>
Expanded chime modeline settings for better event visibility:
- Lookahead window: 3 hours → 6 hours
- Tooltip max events: 10 → 20
- Tooltip lookahead: 6 days → 7 days (full week)

Provides more advance notice of upcoming events and better weekly overview.
</content>
</entry>
<entry>
<title>refactor:weather-config: streamline wttrin configuration</title>
<updated>2025-11-09T21:35:24+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-09T21:35:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=2c634453356806f43899e6da1abc44ea7736b6ce'/>
<id>urn:sha1:2c634453356806f43899e6da1abc44ea7736b6ce</id>
<content type='text'>
Demand wttrin loading for immediate mode-line initialization at
startup. Switch to setopt for customizable variables and simplify
mode activation logic. Remove explicit autoload and use-package
xterm-color as a dependency. Adjust refresh interval and update
default locations list.
</content>
</entry>
<entry>
<title>feat:chime: Add calendar URL configuration</title>
<updated>2025-11-09T21:34:51+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-09T21:34:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=f85d96473de7587fe6ab3d8a9396ae5897d2cd40'/>
<id>urn:sha1:f85d96473de7587fe6ab3d8a9396ae5897d2cd40</id>
<content type='text'>
Set the calendar URL in chime configuration for better integration
with Google Calendar. Debug mode remains available but disabled by
default.
</content>
</entry>
<entry>
<title>chore:popper-config: disable popper and comment out Messages</title>
<updated>2025-11-09T21:34:20+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-09T21:34:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=0507332e7d733d2ed35d61122b32f8a15d8f1bf6'/>
<id>urn:sha1:0507332e7d733d2ed35d61122b32f8a15d8f1bf6</id>
<content type='text'>
Disable the use-package for popper and comment out the *Messages*
buffer in the popper-reference-buffers list to prevent popper from
managing it.
</content>
</entry>
<entry>
<title>feat:system: Add system utility library with executable check</title>
<updated>2025-11-09T21:33:17+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-09T21:33:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=bace209b19449c366c933a752a289d52e5f40c52'/>
<id>urn:sha1:bace209b19449c366c933a752a289d52e5f40c52</id>
<content type='text'>
Introduce a new `system-lib.el` module providing low-level system
utility functions, including function `cj/executable-exists-p` to
check for the availability of programs in PATH. Integrate this
library in `init.el`.

test(system): Add unit tests for executable check function

Create comprehensive unit tests for `cj/executable-exists-p` in
`system-lib.el`, ensuring coverage of normal, boundary and error
scenarios.
</content>
</entry>
</feed>
