Files
2026-02-13 04:20:30 +01:00

47 lines
1.7 KiB
EmacsLisp

;;; erc.el --- erc config -*- lexical-binding: t -*-
;;; Commentary:
(defun pt/erc-connect-network (network)
"Connect to Libera IRC network."
(erc-tls :server "paraboletancza.org"
:port 6697
:user (fmt "whiteman808/#{network}")
:password (pt/lookup-password :host "znc.paraboletancza.org" :user "whiteman808")
:full-name "whiteman808"))
(use-package erc
:custom
;; user data
(erc-nick "whiteman808")
(erc-user-full-name "whiteman808")
;; protect me from accidentally sending excess lines
(erc-inhibit-multiline-input t)
(erc-send-whitespace-lines t)
(erc-ask-about-multiline-input t)
;; scroll all windows to prompt when submitting input
(erc-scrolltobottom-all t)
;; reconnect automatically using a fancy strategy
(erc-server-reconnect-function #'erc-server-delayed-check-reconnect)
(erc-server-reconnect-timeout 30)
;; show new buffers in the current window instead of a split
(erc-interactive-display 'buffer)
;; highlight references to me
(erc-keywords '("whiteman808" "whiteman809"))
:hook
;; automatically connect to irc
;; (after-init . (lambda nil
;; (pt/erc-connect-network "Libera")
;; (pt/erc-connect-network "PIRC")))
;; enable matching keywords
(erc-mode . erc-match-mode)
;; insert a newline when I hit <RET> at the prompt, and prefer
;; something more deliberate for actually sending messages
;; :bind (:map erc-mode-map
;; ("RET" . nil)
;; ("C-c C-c" . #'erc-send-current-line))
;; emphasize buttonized text in notices
:custom-face (erc-notice-face ((t (:slant italic :weight unspecified)))))
(provide 'erc)
;;; erc.el ends here