diff options
| author | Craig Jennings <c@cjennings.net> | 2025-11-04 17:23:50 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2025-11-04 17:23:50 -0600 |
| commit | b520add37ae23f0411e2c6512fe6b8d7418bd525 (patch) | |
| tree | 3ee33b2c63da9672b3ff8e31405610fca63f91e8 /modules | |
| parent | 97f722e8255705b7cd2d5b21432ea5c20d8e1321 (diff) | |
fix: Resolve async buffer error and improve modeline spacing
- Fixed critical "Selecting deleted buffer" error on startup
- wttrin-mode-line-mode now activates after init completes
- Uses after-init-hook to prevent async buffer deletion
- Weather widget loads safely after Emacs finishes initializing
- Improved modeline right-side spacing
- Added 2 non-breaking spaces after misc-info segment
- Prevents weather icon from appearing flush with edge
- Non-breaking spaces survive right-align trimming
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/modeline-config.el | 3 | ||||
| -rw-r--r-- | modules/weather-config.el | 25 |
2 files changed, 26 insertions, 2 deletions
diff --git a/modules/modeline-config.el b/modules/modeline-config.el index 140d21cd..b1403539 100644 --- a/modules/modeline-config.el +++ b/modules/modeline-config.el @@ -156,7 +156,8 @@ Shows only in active window.") mode-line-format-right-align cj/modeline-vc-branch " " - cj/modeline-misc-info)) + cj/modeline-misc-info + " ")) ;; Mark all segments as risky-local-variable (required for :eval forms) (dolist (construct '(cj/modeline-buffer-name diff --git a/modules/weather-config.el b/modules/weather-config.el index 31fb1b70..55eddf16 100644 --- a/modules/weather-config.el +++ b/modules/weather-config.el @@ -10,8 +10,15 @@ ;; ----------------------------------- Wttrin ---------------------------------- +;; Load wttrin from local development directory +(add-to-list 'load-path "/home/cjennings/code/wttrin") + +;; Set debug flag BEFORE loading wttrin (checked at load time) +(setq wttrin-debug t) + (use-package wttrin - :vc (:url "https://github.com/cjennings/emacs-wttrin" :rev :newest) + ;; Uncomment the next line to use vc-install instead of local directory: + ;; :vc (:url "https://github.com/cjennings/emacs-wttrin" :rev :newest) :defer t :preface ;; dependency for wttrin @@ -21,6 +28,22 @@ ("M-W" . wttrin) :custom (wttrin-unit-system "u") + (wttrin-mode-line-favorite-location "New Orleans, LA") + (wttrin-mode-line-refresh-interval 900) ; 15 minutes + :init + ;; Explicitly autoload the mode function (needed for local dev directory) + (autoload 'wttrin-mode-line-mode "wttrin" "Toggle weather display in mode-line." t) + ;; Enable mode-line widget AFTER Emacs finishes initializing + ;; (url-retrieve async needs full init to work without buffer errors) + (if (daemonp) + ;; Daemon mode: wait for first client to connect + (add-hook 'server-after-make-frame-hook + (lambda () (wttrin-mode-line-mode 1)) + t) ; append to end of hook + ;; Normal Emacs: wait for startup to complete + (add-hook 'after-init-hook + (lambda () (wttrin-mode-line-mode 1)) + t)) ; append to end of hook :config (setq wttrin-default-locations '( "New Orleans, LA" |
