X-Git-Url: https://git.shemshak.org/~bandali/configs/blobdiff_plain/39c1c07363abeeca1c13f257fdacf0eb0851ac1f..7c558c9b5ee7aaf336f643cc6767ec875441a239:/lisp/bandali-erc.el?ds=sidebyside diff --git a/lisp/bandali-erc.el b/lisp/bandali-erc.el index 2d6f496..89ec6a0 100644 --- a/lisp/bandali-erc.el +++ b/lisp/bandali-erc.el @@ -1,8 +1,35 @@ +;;; bandali-erc.el --- bandali's ERC setup -*- lexical-binding: t; -*- + +;; Copyright (C) 2018-2020 Amin Bandali + +;; Author: Amin Bandali +;; Keywords: tools + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; My ERC setup for IRC. It uses my fork of ZNC.el. + +;;; Code: + (use-package erc - :bind (("C-c b b" . erc-switch-to-buffer) - :map erc-mode-map - ("M-a" . erc-track-switch-buffer)) + :bind ("C-c w e" . erc-switch-to-buffer-other-window) :custom + (erc-auto-query 'bury) + (erc-autojoin-domain-only nil) + (erc-format-nick-function 'erc-format-@nick) (erc-join-buffer 'bury) (erc-lurker-hide-list '("JOIN" "PART" "QUIT")) (erc-nick "bandali") @@ -11,12 +38,17 @@ (erc-server-reconnect-attempts 5) (erc-server-reconnect-timeout 3) :config + (declare-function erc-message "erc-backend" + (message-command line &optional force)) + (declare-function erc-default-target "erc") + (declare-function erc-current-nick "erc") (defun erc-cmd-OPME () "Request chanserv to op me." (erc-message "PRIVMSG" (format "chanserv op %s %s" (erc-default-target) (erc-current-nick)) nil)) + (declare-function erc-cmd-DEOP "erc" (&rest people)) (defun erc-cmd-DEOPME () "Deop myself from current channel." (erc-cmd-DEOP (format "%s" (erc-current-nick)))) @@ -24,7 +56,7 @@ (add-to-list 'erc-modules 'notifications) (add-to-list 'erc-modules 'smiley) (add-to-list 'erc-modules 'spelling) - (add-to-list 'erc-modules 'scrolltoplace) + (declare-function erc-update-modules "erc") (erc-update-modules)) (use-package erc-fill @@ -34,6 +66,24 @@ (erc-fill-function 'erc-fill-static) (erc-fill-static-center 18)) +(use-package erc-match + :disabled + :after erc + :config + (set-face-attribute + 'erc-pal-face nil + :foreground 'unspecified + :weight 'unspecified + ;; :inherit 'font-lock-string-face + ;; :background (face-attribute 'font-lock-string-face :background) + :background "#ffffed") + :custom + (erc-pal-highlight-type 'message) + (erc-pals + '("aindilis" "blackbeard" "bremner" "brettgilio" "civodul" "dto" + "ggoes" "jrasata" "jxself" "mplsCorwin" "quiliro" "rindolf" "rwp" + "sachac" "technomancy"))) + (use-package erc-pcomplete :after erc :custom @@ -42,21 +92,22 @@ (use-package erc-track :after erc :bind (("C-c a e t d" . erc-track-disable) - ("C-c a e t e" . erc-track-enable)) + ("C-c a e t e" . erc-track-enable) + ("C-c a e M-a" . erc-track-switch-buffer-other-window) + :map erc-mode-map + ("M-a" . erc-track-switch-buffer)) :custom (erc-track-enable-keybindings nil) (erc-track-exclude-types '("JOIN" "MODE" "NICK" "PART" "QUIT" "324" "329" "332" "333" "353" "477")) (erc-track-position-in-mode-line t) (erc-track-priority-faces-only 'all) - (erc-track-shorten-function nil)) + (erc-track-shorten-function nil) + (erc-track-showcount t)) (use-package erc-hl-nicks :after erc) -(use-package erc-scrolltoplace - :after erc) - (use-package znc :bind (("C-c a e e" . znc-erc) ("C-c a e a" . znc-all)) @@ -66,9 +117,12 @@ ((null auth) (error "Couldn't find znca's authinfo")) (t (funcall (plist-get (car auth) :secret))))))) (setq znc-servers - `(("znc.shemshak.org" 1337 t - ((freenode "amin/freenode" ,pwd))) - ("znc.shemshak.org" 1337 t - ((oftc "amin/oftc" ,pwd))))))) + `(("znc.emacsconf.org" 6697 t + ((freenode "bandali/freenode" ,pwd))) + ("znc.emacsconf.org" 6697 t + ((oftc "bandali/oftc" ,pwd))) + ("znc.emacsconf.org" 6697 t + ((tildechat "bandali/tildechat" ,pwd))))))) (provide 'bandali-erc) +;;; bandali-erc.el ends here