From 8fc423d90eff78176fa538f2cf838cb671592e99 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Wed, 13 May 2026 16:06:38 -0500 Subject: feat(telega): add telega.el module with docker-backed TDLib New `modules/telega-config.el` configures telega.el as an in-Emacs Telegram client. `telega-use-docker' is on so TDLib runs in a container instead of needing a system-level build -- pairs with a follow-up `scripts/setup-telega.sh' for fresh-clone installs. First-run auth (phone + verification code) is interactive inside `M-x telega' and isn't scripted here. Launcher binding: `C-; G` (mnemonic: teleGram). `C-; t` and `C-; m t` were both taken (test-runner, music's "repeat track"), so the launcher landed on a free top-level letter. Two tests cover the wiring: module loads, launcher is bound. --- modules/telega-config.el | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 modules/telega-config.el (limited to 'modules') diff --git a/modules/telega-config.el b/modules/telega-config.el new file mode 100644 index 00000000..aada717f --- /dev/null +++ b/modules/telega-config.el @@ -0,0 +1,41 @@ +;;; telega-config.el --- Telega Telegram client config -*- lexical-binding: t; coding: utf-8; -*- +;; author: Craig Jennings + +;;; Commentary: +;; +;; Configures telega.el (https://github.com/zevlg/telega.el) as an +;; in-Emacs Telegram client. +;; +;; TDLib (Telegram Database Library) runs in a docker container via +;; `telega-use-docker' so a fresh-clone install does not need a +;; system-level TDLib build. =scripts/setup-telega.sh= prepares the +;; container the first time; afterwards telega.el reattaches +;; automatically. +;; +;; First-run auth (phone number + Telegram verification code) is +;; interactive and happens inside `M-x telega'. This module does not +;; script it. +;; +;; Launcher: =C-; G= (mnemonic: teleGram). Neither =C-; t= (test-runner +;; menu) nor =C-; m t= (music "repeat track") were available, so the +;; launcher lives at a free top-level letter rather than under a +;; messaging sub-prefix. + +;;; Code: + +(require 'keybindings) + +(use-package telega + :defer t + :commands (telega) + :custom + (telega-use-docker t)) + +(keymap-set cj/custom-keymap "G" #'telega) + +(with-eval-after-load 'which-key + (which-key-add-key-based-replacements + "C-; G" "telegram (telega)")) + +(provide 'telega-config) +;;; telega-config.el ends here -- cgit v1.2.3