From 30a9e50c9cc6a9970bf5db9dbb95f8b5da372ca5 Mon Sep 17 00:00:00 2001 From: Daneel Date: Mon, 23 Feb 2026 16:39:07 +0100 Subject: [PATCH] docs: update emacs-matrix (remove Pantalaimon, fix session path/keybindings) + emacs-macos-build (emacs-31 branch) --- notes/emacs-macos-build.org | 4 +- notes/emacs-matrix.org | 200 ++++++++++++++---------------------- 2 files changed, 78 insertions(+), 126 deletions(-) diff --git a/notes/emacs-macos-build.org b/notes/emacs-macos-build.org index 2366824..31e967f 100644 --- a/notes/emacs-macos-build.org +++ b/notes/emacs-macos-build.org @@ -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 diff --git a/notes/emacs-matrix.org b/notes/emacs-matrix.org index b26bb16..c4f014c 100644 --- a/notes/emacs-matrix.org +++ b/notes/emacs-matrix.org @@ -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 - - - - - Label - pantalaimon - ProgramArguments - - /usr/local/bin/pantalaimon - --config - /Users/martin/.config/pantalaimon/pantalaimon.conf - - RunAtLoad - - KeepAlive - - StandardOutPath - /tmp/pantalaimon.log - StandardErrorPath - /tmp/pantalaimon.log - - -#+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=