aboutsummaryrefslogtreecommitdiff
path: root/modules/weather-config.el
diff options
context:
space:
mode:
Diffstat (limited to 'modules/weather-config.el')
-rw-r--r--modules/weather-config.el34
1 files changed, 26 insertions, 8 deletions
diff --git a/modules/weather-config.el b/modules/weather-config.el
index 93b0a6148..017d9e31b 100644
--- a/modules/weather-config.el
+++ b/modules/weather-config.el
@@ -1,4 +1,4 @@
-;;; weather-config.el --- -*- lexical-binding: t; coding: utf-8; -*-
+;;; weather-config.el --- wttrin weather display and modeline setup -*- lexical-binding: t; coding: utf-8; -*-
;; author: Craig Jennings <c@cjennings.net>
;;; Commentary:
;;
@@ -11,19 +11,23 @@
;; Runtime requires: none (configures packages via use-package).
;; Direct test load: yes.
;;
-;; Call M-W to open wttrin with your preferred location list immediately.
-;; Adjust the city list by editing `wttrin-default-locations` or answering wttrin prompts when asked.
-;; Forecasts arrive in an Emacs buffer, so you can stay keyboard-only while checking weather.
+;; Configures wttrin for favorite-location forecasts, mode-line weather, and
+;; whereami-backed geolocation. M-S-w opens the weather buffer.
;;
;;; Code:
+(defvar wttrin-geolocation-command)
+
;; ----------------------------------- Wttrin ----------------------------------
(use-package wttrin
- :vc (:url "git@cjennings.net:emacs-wttrin.git"
- :branch "main"
- :rev :newest)
- ;; :load-path "~/code/emacs-wttrin" ;; uncomment + comment :vc above for local dev
+ ;; Load from the local checkout (currently release/0.4.0) so recent wttrin
+ ;; changes are testable without a package pull. Swap back to :vc below for
+ ;; production tracking.
+ :load-path "~/code/emacs-wttrin"
+ ;; :vc (:url "git@cjennings.net:emacs-wttrin.git"
+ ;; :branch "release/0.4.0"
+ ;; :rev :newest)
:demand t ;; REQUIRED: mode-line must start at Emacs startup
:preface
;; Change this to t to enable debug logging
@@ -32,7 +36,21 @@
("M-S-w" . wttrin) ;; was M-W, overrides kill-ring-save
:config
(setopt wttrin-unit-system "u")
+ ;; Drop the "Follow @igor_chubin for wttr.in updates" footer. "F" is the
+ ;; wttr.in flag for "no Follow line"; everything else (forecast, header,
+ ;; colors) is unchanged.
+ (setopt wttrin-display-options "F")
(setopt wttrin-favorite-location "New Orleans, LA")
+ ;; Scale the weather font to fit the window width, clamped to a floor/cap
+ ;; (wttrin-font-height-min/-max, default 100/200).
+ (setopt wttrin-auto-fit-font t)
+ ;; Higher-accuracy geolocation via the whereami WiFi-scan script (Google-backed),
+ ;; far better than IP behind a VPN or cellular hotspot. Used by the picker's
+ ;; "Current location (detect)" entry; wttrin falls back to its IP provider if the
+ ;; command is missing or fails. setq (not setopt): wttrin-geolocation-command is
+ ;; defined in the lazily-loaded wttrin-geolocation sub-module, so it may be unbound
+ ;; at :config time; the later defcustom won't clobber an already-set value.
+ (setq wttrin-geolocation-command "/home/cjennings/.local/bin/whereami --json")
(setopt wttrin-mode-line-refresh-interval (* 30 60)) ;; thirty minutes
(setq wttrin-default-locations '(
"New Orleans, LA"