signal.el — screens

Four frames. No mouse targets, no chrome. Every action is a binding; conversation switching is a minibuffer completion, never a sidebar.

Chat list

*signal* — ibuffer-style root buffer, n/p to move, RET to open
U Name Last message When
3 Family Dad: see you sunday then 09:41
1 Sarah photo: IMG_2041.jpg 09:12
Mark Okafor me: merged, cutting the release now 08:55
cycling crew Priya: saturday 7am, usual spot? Mon
Hawat alerts backup completed: zendo (4.2 GiB) Mon
Elena V. thanks! that fixed it Sun
school parents Reminder: early pickup friday Sun
Tom me: voice message (0:42) Jun 5
Note to Self uv pip compile --universal Jun 4
*signal* 9 chats · 4 unread (Signal Chats) ─ U:%%- ─ Top ────────────
C-x b switch chat RET open m mark read g refresh / filter

Conversation

*signal:Sarah* — compose inline at the prompt, RET sends, M-RET newline
───────────────────────────── Tue, Jun 9 ─────────────────────────────
[08:58] Sarah> are you taking the girls to the pool after school?
[09:02] me> yeah, leaving around 4. want me to grab dinner on the way back? ✓✓
[09:03] Sarah> yes please. thai?
[09:10] me> done. ordering the usual ✓✓
[09:12] Sarah> [photo: IMG_2041.jpg — RET to view]
───────────────────────────────────────────────────────────────────────
> looks great. see you toni
⌁ E2E *signal:Sarah* Sarah is typing… (Signal Chat Fill) ─ U:%%- ─ Bot ───
RET send C-c C-a attach C-c C-r reply-to C-c C-e emoji react M-p edit last

Minibuffer switcher

the core interaction — C-x b from anywhere, fuzzy narrowing, C-n/C-p, RET
[09:10] me> done. ordering the usual ✓✓
[09:12] Sarah> [photo: IMG_2041.jpg — RET to view]
───────────────────────────────────────────────────────────────────────
>
⌁ E2E *signal:Sarah* (Signal Chat Fill) ─ U:%%- ─ Bot ───
sarah direct · 1 unread · 09:12
school parents and carpool group · Sun
Samir Darwish direct · May 30
Switch to chat (3/47): sar

Discoverability

which-key panel after C-c s — the keymap is the menu
[09:03] Sarah> yes please. thai?
[09:10] me> done. ordering the usual ✓✓
───────────────────────────────────────────────────────────────────────
>
⌁ E2E *signal:Sarah* (Signal Chat Fill) ─ U:%%- ─ Bot ───
C-c s
a attach file m mute chat v verify safety number
d disappearing msgs n new chat x delete message
g new group p pin chat / search in chat
i chat info r mark all read ? describe bindings