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 git clone https://github.com/emacs-mirror/emacs.git
cd emacs cd emacs
# Doporučená stable větev (aktuálně emacs-30) # Doporučená stable větev (aktuálně emacs-31)
git checkout emacs-30 git checkout emacs-31
#+end_src #+end_src
** Aplikace accessibility patche ** Aplikace accessibility patche

View File

@@ -6,7 +6,7 @@
* Matrix v Emacsu — Ement.el * Matrix v Emacsu — Ement.el
Ement.el je nativní Matrix klient pro Emacs. Plná integrace s Doom Emacs 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 ** Instalace
@@ -20,23 +20,36 @@ Po přidání spustit:
~/.emacs.d/bin/doom sync ~/.emacs.d/bin/doom sync
#+end_src #+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 #+begin_example
Homeserver URL: https://matrix.apps.sukany.cz Homeserver URL: https://matrix.apps.sukany.cz
User ID: @martin:sukany.cz User ID: @martin:sukany.cz
Password: (zadej interaktivně) Password: (interaktivně)
#+end_example #+end_example
Po prvním připojení se session uloží do =~/.cache/emacs/ement.el= (token). Po úspěšném připojení se session uloží a příště je připojení automatické.
Příště se připojí automaticky.
** Klávesové zkratky (SPC o M) ** Klávesové zkratky (SPC o M)
| Zkratka | Funkce | | 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= | Připojit (ement-connect) |
| =SPC o M C= | Odpojit | | =SPC o M C= | Odpojit |
| =SPC o M l= | Seznam místností | | =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 j= | Připojit se k místnosti |
| =SPC o M n= | Notifikace (nové zprávy) | | =SPC o M n= | Notifikace (nové zprávy) |
| =SPC o M m= | Zmínky (@martin) | | =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) *** V místnosti (room buffer)
| Klávesa | Akce | | Klávesa | Akce |
|-----------|---------------------------------| |-------------|---------------------------------|
| =RET= | Napsat zprávu | | =RET= | Napsat zprávu |
| =M-RET= | Compose buffer (pro delší text) | | =M-RET= | Compose buffer (pro delší text) |
| =S-RET= | Odpovědět na zprávu na pointu | | =S-RET= | Odpovědět na zprávu na pointu |
@@ -62,112 +81,45 @@ Příště se připojí automaticky.
| =r m= | Seznam členů | | =r m= | Seznam členů |
| =M-g M-l= | Přejít na seznam místností | | =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 E2EE je na serveru *zakázáno* — veškerá komunikace mezi Emacs klientem
démon, který transparentně šifruje/dešifruje zprávy. 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 ** Konfigurace v config.el
# macOS
brew install pantalaimon
# nebo přes pip Relevantní sekce (viz =~/.doom.d/config.el=):
pip3 install pantalaimon - =ement-sessions-file= — nastaven na =~/.doom.d/ement-sessions.el= (před načtením balíčku)
#+end_src - =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=: | Název | Room ID | Použití |
|----------------------|-----------------------------------------|-----------------------|
#+begin_src ini | Daneel - AI assistant | =!bVBXrchJJVQRoyHQwU:sukany.cz= | Hlavní DM s Daneel |
[sukany] | Email summaries | =!okPPZiCqKrzZeGkpzv:sukany.cz= | Email notifikace |
Homeserver = https://matrix.apps.sukany.cz | Nakopni se (Daneel) | =!moHRlJaLrwEBYDDzGg:sukany.cz= | Nakopni se kurz |
ListenAddress = localhost | Sprava serveru | =!NmZsNYaigZZensbSIi:sukany.cz= | Infra01 monitoring |
ListenPort = 8009 | Weekly review | =!rHpupKCgxNRJoomtij:sukany.cz= | Týdenní přehledy |
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=
** Časté problémy ** Časté problémy
| Problém | Příčina | Řešení | | Problém | Příčina | Řešení |
|---|---|---| |--------------------------------|--------------------------------|-------------------------------------------------|
| "Invalid homeserver" | Špatná URL | Zkontrolovat https://matrix.apps.sukany.cz | | Auto-connect nefunguje | Session soubor chybí nebo poškozený | =SPC o M c= pro nové přihlášení |
| E2EE místnosti prázdné | Pantalaimon neběží | =pantalaimon &= | | "Invalid homeserver" | Špatná URL | Zkontrolovat =https://matrix.apps.sukany.cz= |
| Zprávy se nezobrazují | Cross-signing neproběhlo | Ověřit zařízení v Element | | Zprávy se nezobrazují | Session expirovala | =SPC o M C= → =SPC o M c= |
| Auto-sync nefunguje | Session nebyla uložena | =SPC o M c= znovu | | Pomalý start | Avatary zapnuty | =(setq ement-room-show-avatars nil)= |
| "Unverified device" | Nové zařízení | Ověřit v Element → Settings → Devices |
** Reference ** Reference
- [[https://github.com/alphapapa/ement.el][ement.el GitHub]] - [[https://github.com/alphapapa/ement.el][ement.el GitHub]]
- [[https://github.com/matrix-org/pantalaimon][Pantalaimon GitHub]]
- Konfigurace: =~/.doom.d/config.el= (sekce MATRIX) - Konfigurace: =~/.doom.d/config.el= (sekce MATRIX)
- Session soubor: =~/.doom.d/ement-sessions.el=