Files
emacs-org/notes/emacs-matrix.org

5.0 KiB

Emacs Matrix Client — Ement.el

Matrix v Emacsu — Ement.el

Ement.el je nativní Matrix klient pro Emacs. Plná integrace s Doom Emacs přes prefix SPC o m.

Instalace

Balíček je deklarovaný v packages.el:

(package! ement)

Po přidání spustit:

~/.emacs.d/bin/doom sync

Připojení (bez E2EE)

Spusť SPC o m c nebo M-x ement-connect:

Homeserver URL: https://matrix.apps.sukany.cz
User ID: @martin:sukany.cz
Password: (zadej interaktivně)

Po prvním připojení se session uloží do ~/.cache/emacs/ement.el (token). Příště se připojí automaticky.

Klávesové zkratky (SPC o m)

Zkratka Funkce
SPC o m c Připojit (ement-connect)
SPC o m C Odpojit
SPC o m l Seznam místností
SPC o m r Otevřít místnost
SPC o m d Přímá zpráva uživateli
SPC o m j Připojit se k místnosti
SPC o m n Notifikace (nové zprávy)
SPC o m m Zmínky (@martin)
SPC o m s Manuální sync

V místnosti (room buffer)

Klávesa Akce
RET Napsat zprávu
M-RET Compose buffer (pro delší text)
S-RET Odpovědět na zprávu na pointu
n / p Další / předchozí zpráva
SPC Scroll dolů + označit přečtené
? Transient menu (všechny akce)
s r Reakce (emoji)
C-k Smazat vlastní zprávu
r m Seznam členů
M-g M-l Přejít na seznam místností

E2EE — šifrované místnosti přes Pantalaimon

Ement.el sám o sobě E2EE nepodporuje. Řešení: Pantalaimon — lokální proxy démon, který transparentně šifruje/dešifruje zprávy.

Instalace Pantalaimon

# macOS
brew install pantalaimon

# nebo přes pip
pip3 install pantalaimon

Konfigurace

Vytvoř ~/.config/pantalaimon/pantalaimon.conf:

[sukany]
Homeserver = https://matrix.apps.sukany.cz
ListenAddress = localhost
ListenPort = 8009
SSL = yes

Spuštění

# Spustit na pozadí
pantalaimon --config ~/.config/pantalaimon/pantalaimon.conf &

# Nebo jako launchd service (macOS) — viz níže

Připojení ement přes Pantalaimon

Při SPC o m c (ement-connect) zadej jako homeserver proxy URL:

Homeserver URL: http://localhost:8009
User ID: @martin:sukany.cz
Password: (stejné jako normálně)

Pantalaimon transparentně přepošle vše na matrix.apps.sukany.cz a zašifruje/dešifruje E2EE místnosti.

Automatický start Pantalaimon (macOS LaunchAgent)

Vytvoř ~/Library/LaunchAgents/pantalaimon.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>pantalaimon</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/pantalaimon</string>
        <string>--config</string>
        <string>/Users/martin/.config/pantalaimon/pantalaimon.conf</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>StandardOutPath</key>
    <string>/tmp/pantalaimon.log</string>
    <key>StandardErrorPath</key>
    <string>/tmp/pantalaimon.log</string>
</dict>
</plist>
launchctl load ~/Library/LaunchAgents/pantalaimon.plist

Poznámka k E2EE ověření klíčů

Při prvním připojení přes Pantalaimon se zobrazí výzva k ověření zařízení (cross-signing). Ověř v Element nebo jiném klientu — bez toho ement nemusí zobrazovat zprávy v E2EE místnostech.

Konfigurace uložena v

  • Ement session (token): ~/.cache/emacs/ement.el
  • Pantalaimon data (E2EE klíče): ~/.local/share/pantalaimon/
  • Pantalaimon konfig: ~/.config/pantalaimon/pantalaimon.conf

Časté problémy

Problém Příčina Řešení
"Invalid homeserver" Špatná URL Zkontrolovat https://matrix.apps.sukany.cz
E2EE místnosti prázdné Pantalaimon neběží pantalaimon &
Zprávy se nezobrazují Cross-signing neproběhlo Ověřit zařízení v Element
Auto-sync nefunguje Session nebyla uložena SPC o m c znovu
"Unverified device" Nové zařízení Ověřit v Element → Settings → Devices

Reference