docs: update emacs-matrix (remove Pantalaimon, fix session path/keybindings) + emacs-macos-build (emacs-31 branch)
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
* Matrix v Emacsu — Ement.el
|
||||
|
||||
Ement.el je nativní Matrix klient pro Emacs. Plná integrace s Doom Emacs
|
||||
přes prefix =SPC o M=.
|
||||
přes prefix =SPC o M= (uppercase M — =SPC o m= je obsazeno mu4e).
|
||||
|
||||
** Instalace
|
||||
|
||||
@@ -20,154 +20,106 @@ Po přidání spustit:
|
||||
~/.emacs.d/bin/doom sync
|
||||
#+end_src
|
||||
|
||||
** Připojení (bez E2EE)
|
||||
** Server a účet
|
||||
|
||||
Spusť =SPC o M c= nebo =M-x ement-connect=:
|
||||
- Homeserver: =https://matrix.apps.sukany.cz=
|
||||
- User ID: =@martin:sukany.cz=
|
||||
- E2EE: *zakázáno na straně serveru* (=encryption: false= v OpenClaw config) — Pantalaimon se nepoužívá a není potřeba
|
||||
|
||||
** Automatické připojení
|
||||
|
||||
Emacs se automaticky připojí při startu (=doom-after-init-hook=) pomocí
|
||||
uložené session. Nepotřebuješ zadávat heslo — token je uložen v souboru:
|
||||
|
||||
#+begin_example
|
||||
~/.doom.d/ement-sessions.el
|
||||
#+end_example
|
||||
|
||||
Při prvním použití (nebo po výmazu session souboru) spusť =SPC o M c=
|
||||
a zadej:
|
||||
#+begin_example
|
||||
Homeserver URL: https://matrix.apps.sukany.cz
|
||||
User ID: @martin:sukany.cz
|
||||
Password: (zadej interaktivně)
|
||||
Password: (interaktivně)
|
||||
#+end_example
|
||||
|
||||
Po prvním připojení se session uloží do =~/.cache/emacs/ement.el= (token).
|
||||
Příště se připojí automaticky.
|
||||
Po úspěšném připojení se session uloží a příště je připojení automatické.
|
||||
|
||||
** 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 |
|
||||
| Zkratka | Funkce |
|
||||
|-------------|-----------------------------------------------|
|
||||
| =SPC o M o= | Otevřít panel (inteligentní — viz níže) |
|
||||
| =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) |
|
||||
|
||||
*** Inteligentní otevření panelu (SPC o M o)
|
||||
|
||||
=my/ement-open= se chová podle aktuálního stavu:
|
||||
- Již připojeno → okamžitě otevře seznam místností
|
||||
- Session soubor existuje → obnoví bez zadání hesla, po sync otevře místnosti
|
||||
- Žádná session → interaktivní =ement-connect=, pak otevře místnosti
|
||||
|
||||
*** 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í |
|
||||
| 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
|
||||
** E2EE
|
||||
|
||||
Ement.el sám o sobě E2EE nepodporuje. Řešení: [[https://github.com/matrix-org/pantalaimon][Pantalaimon]] — lokální proxy
|
||||
démon, který transparentně šifruje/dešifruje zprávy.
|
||||
E2EE je na serveru *zakázáno* — veškerá komunikace mezi Emacs klientem
|
||||
a homeserverem probíhá nešifrovaně (ale přes HTTPS). Toto je záměrné
|
||||
rozhodnutí: Megolm session errors způsobovaly nečitelné zprávy na iOS zařízeních,
|
||||
spolehlivost je důležitější.
|
||||
|
||||
*** Instalace Pantalaimon
|
||||
Pantalaimon *se nepoužívá* a není potřeba instalovat.
|
||||
|
||||
#+begin_src sh
|
||||
# macOS
|
||||
brew install pantalaimon
|
||||
** Konfigurace v config.el
|
||||
|
||||
# nebo přes pip
|
||||
pip3 install pantalaimon
|
||||
#+end_src
|
||||
Relevantní sekce (viz =~/.doom.d/config.el=):
|
||||
- =ement-sessions-file= — nastaven na =~/.doom.d/ement-sessions.el= (před načtením balíčku)
|
||||
- =ement-save-sessions t= — session se uloží při =kill-emacs=
|
||||
- =ement-auto-sync t= — na pozadí se synchronizuje automaticky
|
||||
- =ement-room-show-avatars nil= — avatary jsou vypnuty (výkon)
|
||||
- =ement-notify-mentions-p t= — notifikace při zmínkách
|
||||
|
||||
*** Konfigurace
|
||||
** Místnosti
|
||||
|
||||
Vytvoř =~/.config/pantalaimon/pantalaimon.conf=:
|
||||
|
||||
#+begin_src ini
|
||||
[sukany]
|
||||
Homeserver = https://matrix.apps.sukany.cz
|
||||
ListenAddress = localhost
|
||||
ListenPort = 8009
|
||||
SSL = yes
|
||||
#+end_src
|
||||
|
||||
*** Spuštění
|
||||
|
||||
#+begin_src sh
|
||||
# Spustit na pozadí
|
||||
pantalaimon --config ~/.config/pantalaimon/pantalaimon.conf &
|
||||
|
||||
# Nebo jako launchd service (macOS) — viz níže
|
||||
#+end_src
|
||||
|
||||
*** Připojení ement přes Pantalaimon
|
||||
|
||||
Při =SPC o M c= (ement-connect) zadej jako homeserver proxy URL:
|
||||
#+begin_example
|
||||
Homeserver URL: http://localhost:8009
|
||||
User ID: @martin:sukany.cz
|
||||
Password: (stejné jako normálně)
|
||||
#+end_example
|
||||
|
||||
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=:
|
||||
|
||||
#+begin_src xml
|
||||
<?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>
|
||||
#+end_src
|
||||
|
||||
#+begin_src sh
|
||||
launchctl load ~/Library/LaunchAgents/pantalaimon.plist
|
||||
#+end_src
|
||||
|
||||
*** 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=
|
||||
| Název | Room ID | Použití |
|
||||
|----------------------|-----------------------------------------|-----------------------|
|
||||
| Daneel - AI assistant | =!bVBXrchJJVQRoyHQwU:sukany.cz= | Hlavní DM s Daneel |
|
||||
| Email summaries | =!okPPZiCqKrzZeGkpzv:sukany.cz= | Email notifikace |
|
||||
| Nakopni se (Daneel) | =!moHRlJaLrwEBYDDzGg:sukany.cz= | Nakopni se kurz |
|
||||
| Sprava serveru | =!NmZsNYaigZZensbSIi:sukany.cz= | Infra01 monitoring |
|
||||
| Weekly review | =!rHpupKCgxNRJoomtij:sukany.cz= | Týdenní přehledy |
|
||||
|
||||
** Č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 |
|
||||
| Problém | Příčina | Řešení |
|
||||
|--------------------------------|--------------------------------|-------------------------------------------------|
|
||||
| Auto-connect nefunguje | Session soubor chybí nebo poškozený | =SPC o M c= pro nové přihlášení |
|
||||
| "Invalid homeserver" | Špatná URL | Zkontrolovat =https://matrix.apps.sukany.cz= |
|
||||
| Zprávy se nezobrazují | Session expirovala | =SPC o M C= → =SPC o M c= |
|
||||
| Pomalý start | Avatary zapnuty | =(setq ement-room-show-avatars nil)= |
|
||||
|
||||
** Reference
|
||||
|
||||
- [[https://github.com/alphapapa/ement.el][ement.el GitHub]]
|
||||
- [[https://github.com/matrix-org/pantalaimon][Pantalaimon GitHub]]
|
||||
- Konfigurace: =~/.doom.d/config.el= (sekce MATRIX)
|
||||
- Session soubor: =~/.doom.d/ement-sessions.el=
|
||||
|
||||
Reference in New Issue
Block a user