dotemacs/contrapunctus/cp-irc.el

124 lines
3.6 KiB
EmacsLisp
Raw Normal View History

2015-11-25 23:33:55 +00:00
;;;; IRC packages config
2015-11-24 21:12:10 +00:00
(with-eval-after-load 'erc
(setq ;; erc-default-coding-system 'utf-8
erc-autojoin-channels-alist
'(("freenode"
"#emacs"
"##emacs.de"
"#lilypond"
;; "#lisp"
;; "#lispgames"
;; "#scheme"
"#opensourcemusicians"
"##classical"
"##guitar"
"#music-theory"
;; "##piano"
"##hindi"
;; "##italiano"
"##deutsch"
"#VelvetAndLace")
("oftc" "#debian-next"))
erc-password "trololo_trololo"
erc-fill-mode nil
erc-generate-log-file-name-function 'erc-generate-log-file-name-network
erc-log-channels-directory "~/.emacs.d/erc/logs/"
erc-log-mode t
erc-save-buffer-on-part nil
erc-save-queries-on-quit nil
erc-log-write-after-send t
erc-log-write-after-insert t
erc-modules '(autojoin completion list log menu ring stamp ercn
netsplit button match track readonly networks noncommands
irccontrols move-to-prompt)
erc-nick '("contrapunctus"
"HisaoNakai"
"[Batou]"
"[Togusa]"
"[2501]")
erc-stamp-mode t
erc-timestamp-format-left "[%FT%T%z]
"
erc-timestamp-format-right nil
erc-join-buffer 'bury
erc-fools '("c-c@" "Kimryd" "csmr"))
(define-key erc-mode-map (kbd "C-c C-c") nil)
(add-hook 'erc-mode-hook 'erc-fill-disable)
(add-hook 'erc-mode-hook (lambda () (setq erc-ignore-list '("*!csmr@kapsi.fi")))))
(autoload 'erc "erc" "ERC." t)
(defun cp-erc-irc-buffer ()
(cp-get-buffer-regexp "^irc"))
2015-11-26 23:33:07 +00:00
(defun cp-erc-freenode ()
(interactive)
(let ((bufname (cp-erc-irc-buffer)))
2015-11-26 23:33:07 +00:00
(if bufname
(switch-to-buffer bufname)
(erc :server "irc.freenode.net"
:nick "contrapunctus"
:password "trololo_trololo"))))
(defun cp-erc-reconnect ()
(interactive)
(if (equal major-mode 'erc-mode)
(erc-server-reconnect)
(progn (switch-to-buffer (cp-erc-irc-buffer))
2015-11-26 23:33:07 +00:00
(erc-server-reconnect))))
2016-06-12 04:50:44 +00:00
(defun cp-erc-ghost ()
(interactive)
(switch-to-buffer (cp-erc-irc-buffer))
(erc-message "PRIVMSG" "NickServ GHOST contrapunctus")
(erc-cmd-NICK "contrapunctus"))
(defun cp-erc-toggle-autojoin ()
(interactive)
(if erc-autojoin-mode
(progn (erc-autojoin-disable)
(message "ERC - autojoin disabled."))
(progn (erc-autojoin-enable)
(message "ERC - autojoin enabled."))))
;; (defun cp-erc-cycle ()
;; (interactive)
;; ())
2016-06-12 04:51:08 +00:00
(global-unset-key (kbd "C-x e"))
2015-11-26 23:33:07 +00:00
(cp-set-keys
:bindings
`((,(kbd "C-x e r") cp-erc-reconnect)
(,(kbd "C-x e e") cp-erc-freenode)
2016-06-12 04:51:08 +00:00
(,(kbd "C-x e w") cp-erc-ghost)
(,(kbd "C-c C-c") erc-track-switch-buffer)
(,(kbd "C-x e a") cp-erc-toggle-autojoin)))
2015-11-30 18:13:00 +00:00
(define-derived-mode erc-log-read-mode text-mode "ERC-log"
"Major mode for viewing ERC logs."
(highlight-lines-matching-regexp "^\[[0-9: ]*\]$"
"font-lock-comment-face")
(highlight-lines-matching-regexp "^\*\*\*.*\(join\|quit\|part\)"
"font-lock-comment-face"))
(add-to-list 'auto-mode-alist
(cons "/erc/logs/" 'erc-log-read-mode))
2015-11-24 21:12:10 +00:00
(with-eval-after-load 'rcirc
(setq
rcirc-log-flag t
rcirc-time-format "%Y %m %e %T "
rcirc-fill-column 80
rcirc-server-alist '(("irc.freenode.net"
:channels
("#emacs" "#lilypond" "#velvetandlace"
"#opensourcemusicians" "##classical"
"##guitar" "##deutsch" "##hindi")
:password
"trololo_trololo"))
rcirc-default-nick "contrapunctus"
;; rcirc-coding-system-alist '(("" . 'utf-8))
))