aboutsummaryrefslogtreecommitdiff
path: root/init.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-26 20:24:58 -0500
committerCraig Jennings <c@cjennings.net>2026-05-26 20:24:58 -0500
commit049325f438817c0b4f4a443f71b8821b0bfd357a (patch)
tree54ef8f879fb82ad8e84e1d52a1b826be53c3b950 /init.el
parent09af335782d678a15e6b4931f7d5e8c5e7eb034c (diff)
downloaddotemacs-049325f438817c0b4f4a443f71b8821b0bfd357a.tar.gz
dotemacs-049325f438817c0b4f4a443f71b8821b0bfd357a.zip
feat(signal): add Signal client foundation on a signel fork
I'm building a Signal client in Emacs on signal-cli (linked as a secondary device) with a fork of the signel package as the front end. signel is on MELPA but effectively abandoned, and the behavior I want needs internal edits, so owning a fork beats advising a dead package. Full rationale and the rejected alternatives are in docs/design/signal-client.org. This lands the signal-cli-independent foundation: contact-list parsing for a completing-read picker, and the predicate that suppresses a notification for the chat being actively viewed. Both are pure and unit-tested without a linked account. cj/signal--parse-contacts was corrected against a live account (signal-cli 0.14 puts givenName/familyName at the top level, not under profile), and verified across all 94 real contacts. The use-package wiring loads the fork from ~/code/signel, sources the account from a gitignored signal-config.local.el (a phone number is an identifier, not a credential, and this keeps it off the mirror without a GPG prompt), and turns off auto-open so an incoming message can't steal a window. Verified live: signel-start spawns the jsonRpc process, loads the account, and receives over the channel. The fork edits (notify routing, the upstream input-clobber bug) and the contact-picker command are still to come.
Diffstat (limited to 'init.el')
-rw-r--r--init.el1
1 files changed, 1 insertions, 0 deletions
diff --git a/init.el b/init.el
index 27f4adb9..fe1acd35 100644
--- a/init.el
+++ b/init.el
@@ -75,6 +75,7 @@
(require 'slack-config) ;; slack client via emacs-slack
(require 'linear-config) ;; Linear.app issue tracking (deepsat workspace)
(require 'telega-config) ;; telegram client via telega.el (TDLib in docker)
+(require 'signal-config) ;; signal client via forked signel + signal-cli
(require 'eshell-config) ;; emacs shell configuration
(require 'vterm-config) ;; vterm + F12 toggle + tmux history copy
(require 'ai-vterm) ;; in-Emacs Claude launcher (vertical-split vterm)