aboutsummaryrefslogtreecommitdiff
path: root/README.org
Commit message (Collapse)AuthorAgeFilesLines
* doc: update README with missing features, fix stale contentCraig Jennings2026-04-041-15/+20
| | | | | | | | | | Add: staleness display in weather buffer, stale mode-line dimming, wttrin-clear-cache command, wttrin-mode-line-startup-delay option, minimum Emacs version (24.4). Fix: font height default was listed as 110 (actually 130), debug output example didn't match current log format, manual debug setup section was a duplicate of the use-package section.
* feat: unified cache and staleness handling for mode-line and bufferCraig Jennings2026-02-211-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace TTL-based cache invalidation with proactive scheduled refresh. Both mode-line and buffer systems now follow: timer refreshes cache, display reads from cache, staleness indicated when data is old. Phase 1 - Mode-line cache formalization + staleness display: - Replace wttrin--mode-line-tooltip-data with wttrin--mode-line-cache as (timestamp . data) cons cell matching buffer cache pattern - Add wttrin--format-age helper for human-readable age strings - Rewrite wttrin--mode-line-update-display to take no arguments, read from cache, compute staleness (age > 2x refresh interval), dim emoji gray when stale, show staleness info in tooltip - Rewrite wttrin--mode-line-fetch-weather to write cache on success, show stale display on failure with cache, error placeholder without - Add wttrin--mode-line-update-placeholder-error for first-launch failure Phase 2 - Remove TTL, add proactive buffer refresh: - Rename wttrin-cache-ttl to wttrin-refresh-interval (default 3600s) with define-obsolete-variable-alias for backward compatibility - Change wttrin-mode-line-refresh-interval default from 900 to 3600 - Remove TTL check from wttrin--get-cached-or-fetch; serve cached data regardless of age, background timer keeps it fresh - Add buffer refresh timer (wttrin--buffer-cache-refresh) Phase 3 - Buffer staleness display: - Add wttrin--format-staleness-header for buffer age display - Insert staleness line in wttrin--display-weather before instructions Phase 4 - Cleanup: - Remove all references to wttrin--mode-line-tooltip-data - Update README.org cache settings and mode-line documentation - Update tests for new API (198 tests across 21 files, all passing)
* refactor: core: rename wttrin-mode-line-favorite-location to ↵Craig Jennings2025-11-131-5/+5
| | | | | | | | wttrin-favorite-location Renamed variable to remove 'mode-line' prefix, making it usable for future location-based features beyond mode-line display. Updated all references in code, tests, and documentation. All 187 tests passing.
* doc: readme: use :load-path instead of add-to-list for use-packageCraig Jennings2025-11-081-3/+1
| | | | | Replace add-to-list approach with use-package's :load-path keyword for cleaner, more idiomatic configuration.
* doc: readme: simplify xterm-color configuration instructionsCraig Jennings2025-11-081-20/+13
| | | | | | | | | | | | | | | Remove outdated xterm-color configuration requirements following the lazy-load refactor. Users no longer need :after, :preface, or separate use-package declarations for xterm-color. Changes: - Simplified local development setup (no xterm-color use-package needed) - Removed :preface xterm-color :demand t from debug examples - Updated manual install to just require wttrin (not xterm-color first) - Clarified that xterm-color loads automatically when needed - Noted MELPA auto-installs xterm-color as dependency The configuration is now simpler and matches the lazy-loading behavior.
* docs: Simplify manual installation debug exampleCraig Jennings2025-11-081-2/+1
| | | | | | | | | | | Remove add-to-list from manual installation example and ensure :ensure t is included. The :preface section with xterm-color and wttrin-debug settings works the same whether installing from MELPA or a local path. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
* docs: Use :preface for wttrin-debug instead of external setqCraig Jennings2025-11-081-9/+8
| | | | | | | | | | | Update README to show wttrin-debug being set in :preface section of use-package declarations. This is cleaner and follows standard use-package conventions better than requiring users to set variables outside the declaration. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
* refactor: make debug functions public (single hyphen naming)Craig Jennings2025-11-081-2/+2
| | | | | | | | | | | | | | | | | | | | Renamed private debug functions to public API: - wttrin--debug-show-log → wttrin-debug-show-log - wttrin--debug-clear-log → wttrin-debug-clear-log Added ;;;###autoload to both functions for proper autoloading. Updated all references: - README.org (2 occurrences) - tests/README-DEBUG-TESTS.md (4 occurrences) - tests/test-wttrin-integration-with-debug.el (8 occurrences) These are user-facing commands that should be discoverable via M-x, so they follow the public API naming convention (single hyphen). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
* docs: add critical setup rules for local development and debuggingCraig Jennings2025-11-081-5/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Added two new sections to README: 1. "Local Development / Manual Install" section: - Shows correct pattern for loading xterm-color in :preface - Explains :demand t ensures immediate loading - Provides both use-package and manual install examples - Emphasizes xterm-color must load BEFORE wttrin 2. "Debugging and Troubleshooting" section: - Documents wttrin-debug must be set BEFORE loading wttrin - Shows correct vs incorrect examples (with ❌ for wrong way) - Explains how to view debug log with M-x wttrin--debug-show-log - Includes example debug output - Lists common issues and solutions Key rules documented: - xterm-color in :preface with :demand t for local development - wttrin-debug set before (require 'wttrin) or use-package declaration - Debug checked at load time, can't be set in :custom section These are common pitfalls that prevented wttrin from loading correctly. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
* fix(wttrin): Fix ANSI color rendering on fresh Emacs launchCraig Jennings2025-11-041-1/+1
| | | | | | | | | | | | | | | | | | | | Critical bug fix: On fresh Emacs launch, weather displayed with only double quotes colored blue, all other text white. Pressing 'g' to refresh brought colors back. Root cause: wttrin-mode (derived mode) calls kill-all-local-variables internally. The code was setting xterm-color--state buffer-local BEFORE calling wttrin-mode, so the state was immediately wiped out. On refresh, the mode was already active (no-op), so the state survived. Fix: Call wttrin-mode FIRST, then set buffer-local variables after. This ensures kill-all-local-variables runs before we set any state. Changes: - Reorder initialization in wttrin--display-weather (wttrin.el:277-285) - Add regression tests for mode initialization order (2 new tests) Test results: 65 tests, all passing
* docs: Update vc-install instructions for Wttrin in READMECraig Jennings2025-11-041-3/+2
| | | | | Simplify Emacs Lisp configuration using `:vc` keyword for Wttrin installation and update.
* feat:docs: Add mode-line weather display featureCraig Jennings2025-11-041-0/+50
| | | | | | | Introduce mode-line weather display in README.org. Add setup, features, and customization instructions, enabling users to show weather updates directly in the mode-line with automatic refresh and interactive options.
* refactor:wttrin: Make asynchronous loading standardCraig Jennings2025-11-041-12/+2
| | | | | Make asynchronous loading the only mode of operation. It's well tested and doesn't lock up Emacs during fetching. Synchronous loading code has been removed.
* docs: Update README with Emacs 29+ note and advanced settingsCraig Jennings2025-11-041-0/+20
| | | | | | | Add a note for Emacs 29+ users about using `setopt` for type checking. Include sections on asynchronous loading and cache settings under advanced settings, providing customization options for Wttrin's behavior.
* docs:README: Add VC install instructionsCraig Jennings2025-11-041-0/+14
| | | | | Include detailed steps for installing Wttrin using package-vc in Emacs 30 or later.
* wordsmithingCraig Jennings2024-04-221-14/+14
| | | | | | - fix numbering mistake - swap package installation ordering - word tweaking, probably born out of procrastination
* wordsmithingv0.2.4Craig Jennings2024-04-221-1/+1
|
* Readme RewriteCraig Jennings2024-04-221-0/+148
- moved the format from markdown to org - much better text IMHO - badges and sections and pictures oh my!