Skip to content

emacsmirror/signel

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 

Repository files navigation

Signel

https://img.shields.io/badge/License-GPLv3-blue.svg https://melpa.org/packages/signel-badge.svg

Signel is an Emacs interface for Signal. It communicates with a running signal-cli daemon via JSON-RPC to send and receive messages.

Features

  • Chat Buffers: Read-only history with a guarded input prompt.
  • Media Support: Renders inline images and attachments.
  • Animated Stickers: Automatically converts APNG and WebP stickers to GIF for playback in Emacs.
  • Dashboard: Overview of active conversations.
  • Notifications: Native desktop notifications on new messages.

Dependencies

  1. Emacs 27.1+
  2. signal-cli: Must be installed and available in your $PATH.
  3. ImageMagick (Optional): The convert command is required to render animated stickers.

Setup

Before running Signel, you must link or register your account using the command line.

Example (Linking a new device)

signal-cli link -n "emacs-client" | xargs -n 1 qrencode -t utf8

Installation

signel is available on MELPA.

You can install signel with the following command.

M-x package-install RET signel RET

For a basic configuration, place this in your user-init-file

(setq signel-account "+15550000000")

use-package

(use-package signel
  :config
  ;; REQUIRED: Your registered phone number
  (setq signel-account "+15550000000")

  ;; Optional: If signal-cli is not in your $PATH
  ;; (setq signel-cli-program "/usr/local/bin/signal-cli")
)

Usage

  • Start the background process: M-x signel-start
  • Open the conversation list: M-x signel-dashboard
  • Open a specific chat directly: M-x signel-chat

Keybindings

In Chat Buffers

KeyCommandAction
RETsignel-send-inputSend message
C-c C-csignel-send-inputSend message
C-c C-asignel-attach-fileAttach file

In Dashboard

KeyCommandAction
RETsignel-dashboard-open-entryOpen selected chat
nforward-buttonNext chat
pbackward-buttonPrevious chat
gsignel-dashboard-refreshRefresh list

About

Signal client via signal-cli JSON-RPC

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Emacs Lisp 100.0%