docs: update emacs-matrix (remove Pantalaimon, fix session path/keybindings) + emacs-macos-build (emacs-31 branch)
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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,154 +20,106 @@ 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 c= | Připojit (ement-connect) |
|
| =SPC o M o= | Otevřít panel (inteligentní — viz níže) |
|
||||||
| =SPC o M C= | Odpojit |
|
| =SPC o M c= | Připojit (ement-connect) |
|
||||||
| =SPC o M l= | Seznam místností |
|
| =SPC o M C= | Odpojit |
|
||||||
| =SPC o M r= | Otevřít místnost |
|
| =SPC o M l= | Seznam místností |
|
||||||
| =SPC o M d= | Přímá zpráva uživateli |
|
| =SPC o M r= | Otevřít místnost |
|
||||||
| =SPC o M j= | Připojit se k místnosti |
|
| =SPC o M d= | Přímá zpráva uživateli |
|
||||||
| =SPC o M n= | Notifikace (nové zprávy) |
|
| =SPC o M j= | Připojit se k místnosti |
|
||||||
| =SPC o M m= | Zmínky (@martin) |
|
| =SPC o M n= | Notifikace (nové zprávy) |
|
||||||
| =SPC o M s= | Manuální sync |
|
| =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)
|
*** 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 |
|
||||||
| =n= / =p= | Další / předchozí zpráva |
|
| =n= / =p= | Další / předchozí zpráva |
|
||||||
| =SPC= | Scroll dolů + označit přečtené |
|
| =SPC= | Scroll dolů + označit přečtené |
|
||||||
| =?= | Transient menu (všechny akce) |
|
| =?= | Transient menu (všechny akce) |
|
||||||
| =s r= | Reakce (emoji) |
|
| =s r= | Reakce (emoji) |
|
||||||
| =C-k= | Smazat vlastní zprávu |
|
| =C-k= | Smazat vlastní zprávu |
|
||||||
| =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=
|
||||||
|
|||||||
Reference in New Issue
Block a user