docs: update emacs-matrix (remove Pantalaimon, fix session path/keybindings) + emacs-macos-build (emacs-31 branch)

This commit is contained in:
2026-02-23 16:39:07 +01:00
parent a03961d781
commit 30a9e50c9c
2 changed files with 78 additions and 126 deletions

View File

@@ -37,8 +37,8 @@ brew install libgccjit # native compilation
git clone https://github.com/emacs-mirror/emacs.git
cd emacs
# Doporučená stable větev (aktuálně emacs-30)
git checkout emacs-30
# Doporučená stable větev (aktuálně emacs-31)
git checkout emacs-31
#+end_src
** Aplikace accessibility patche

View File

@@ -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,23 +20,36 @@ 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 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í |
@@ -45,12 +58,18 @@ Příště se připojí automaticky.
| =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 |
*** 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 |
@@ -62,112 +81,45 @@ Příště se připojí automaticky.
| =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 |
|--------------------------------|--------------------------------|-------------------------------------------------|
| 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=