summaryrefslogtreecommitdiff
path: root/wttrin.el
diff options
context:
space:
mode:
Diffstat (limited to 'wttrin.el')
-rw-r--r--wttrin.el16
1 files changed, 10 insertions, 6 deletions
diff --git a/wttrin.el b/wttrin.el
index afc0d2f..1ea8e11 100644
--- a/wttrin.el
+++ b/wttrin.el
@@ -180,6 +180,15 @@ Set this to t BEFORE loading wttrin, typically in your init file:
(defvar wttrin--mode-line-tooltip-data nil
"Cached full weather data for tooltip display.")
+(defvar wttrin--mode-line-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map [mode-line mouse-1] 'wttrin-mode-line-click)
+ (define-key map [mode-line mouse-3] 'wttrin-mode-line-force-refresh)
+ map)
+ "Keymap for mode-line weather widget interactions.
+Left-click (mouse-1): refresh weather and open buffer.
+Right-click (mouse-3): force-refresh cache and update tooltip.")
+
(defun wttrin-additional-url-params ()
"Concatenates extra information into the URL."
(if wttrin-unit-system
@@ -471,12 +480,7 @@ WEATHER-STRING format: \"Location: emoji temp conditions\" (e.g., \"Paris: ☀ï¸
(format "Weather for %s\nClick to refresh"
wttrin-mode-line-favorite-location)))
'mouse-face 'mode-line-highlight
- 'local-map (let ((map (make-sparse-keymap)))
- (define-key map [mode-line mouse-1]
- 'wttrin-mode-line-click)
- (define-key map [mode-line mouse-3]
- 'wttrin-mode-line-force-refresh)
- map))))
+ 'local-map wttrin--mode-line-map)))
(force-mode-line-update t)
(when (featurep 'wttrin-debug)
(message "wttrin mode-line: Display updated, mode-line-string = %S, tooltip = %S"