diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/dashboard-config.el | 4 | ||||
| -rw-r--r-- | modules/telega-config.el | 19 |
2 files changed, 20 insertions, 3 deletions
diff --git a/modules/dashboard-config.el b/modules/dashboard-config.el index 2fbed716..b61129ad 100644 --- a/modules/dashboard-config.el +++ b/modules/dashboard-config.el @@ -184,7 +184,7 @@ Adjust this if the title doesn't appear centered under the banner image.") ;; Row 3 ((,(nerd-icons-faicon "nf-fa-telegram") "Telegram" "Telega Telegram Client" - (lambda (&rest _) (telega)) + (lambda (&rest _) (cj/telega)) nil " " "")))) ;; == content @@ -208,7 +208,7 @@ Adjust this if the title doesn't appear centered under the banner image.") (define-key dashboard-mode-map (kbd "s") (lambda () (interactive) (cj/slack-start))) (define-key dashboard-mode-map (kbd "t") (lambda () (interactive) (vterm))) (define-key dashboard-mode-map (kbd "d") (lambda () (interactive) (dirvish user-home-dir))) - (define-key dashboard-mode-map (kbd "g") (lambda () (interactive) (telega)))) + (define-key dashboard-mode-map (kbd "g") (lambda () (interactive) (cj/telega)))) ;; Override banner title centering (must be after dashboard-widgets loads) (with-eval-after-load 'dashboard-widgets diff --git a/modules/telega-config.el b/modules/telega-config.el index 003fa15d..1691a95b 100644 --- a/modules/telega-config.el +++ b/modules/telega-config.el @@ -46,7 +46,24 @@ :custom (telega-use-docker t)) -(keymap-set cj/custom-keymap "G" #'telega) +(defun cj/telega () + "Launch telega.el with a helpful message when it isn't installed yet. + +The =telega= Emacs package uses =:ensure nil= in this config so a +stale MELPA archive index can't take startup down with a 404. The +trade-off: a fresh clone needs a one-time install before this +launcher works. Without this wrapper, the autoload stub fails with +the cryptic =Cannot open load file: telega=; with it, the user gets +pointed at =scripts/setup-telega.sh= and the manual fallback." + (interactive) + (if (or (featurep 'telega) + (locate-library "telega")) + (telega) + (user-error + (concat "telega not installed -- run scripts/setup-telega.sh, " + "or `M-x package-install RET telega'")))) + +(keymap-set cj/custom-keymap "G" #'cj/telega) (with-eval-after-load 'which-key (which-key-add-key-based-replacements |
