diff --git a/config.el b/config.el index 39d7a6d..cff6ed1 100644 --- a/config.el +++ b/config.el @@ -880,22 +880,25 @@ Keeps the status bar and tab bar fully visible at any zoom level.") (setq ement-notify-mentions-p t ement-notify-dingalings-p nil) ; no sound - ;; Auto-connect on startup: restore saved session without prompting for credentials. - ;; Activates only when session file exists (requires one manual ement-connect first). - (defun my/ement-maybe-restore () - "Restore saved ement session silently (no credentials prompt)." - (when (file-exists-p (expand-file-name ement-sessions-file)) - (ement-connect :user-id "@martin:sukany.cz"))) + ) ; end after! ement - ;; Open Matrix panel: restore/connect if needed, then show room list. - (defun my/ement-open () - "Switch to Matrix: reconnect if needed, then open room list." - (interactive) - (if (and (boundp 'ement-sessions) ement-sessions) - (ement-list-rooms) - (my/ement-maybe-restore))) +;; Defined outside after! so Doom registers them as proper interactive commands. +(defun my/ement-maybe-restore () + "Restore saved ement session silently (no credentials prompt)." + (require 'ement) + (when (file-exists-p (expand-file-name ement-sessions-file)) + (ement-connect :user-id "@martin:sukany.cz"))) - (add-hook 'after-init-hook #'my/ement-maybe-restore)) +(defun my/ement-open () + "Switch to Matrix: reconnect if needed, then open room list." + (interactive) + (require 'ement) + (if (and (boundp 'ement-sessions) ement-sessions) + (ement-list-rooms) + (my/ement-maybe-restore))) + +;; Auto-connect on Emacs startup (outside after! — ement may be deferred) +(add-hook 'doom-after-init-hook #'my/ement-maybe-restore) ;; Keybindings under SPC o M (uppercase M — o m is taken by mu4e) (map! :leader