Skip to content

Instantly share code, notes, and snippets.

@thiagofm
Created September 22, 2015 08:15
Show Gist options
  • Save thiagofm/674a31aef8b5abd10909 to your computer and use it in GitHub Desktop.
Save thiagofm/674a31aef8b5abd10909 to your computer and use it in GitHub Desktop.
; RCIRC
(require 'rcirc)
(add-to-list 'rcirc-server-alist
'("irc.freenode.net" :channels ("#emacs" "#clojure")))
(add-to-list 'rcirc-server-alist
`("irc.flowdock.com" :port 6697 :encryption tls :user-name "Thiago" :password ,(format "thiago.massa@wimdu.com %s" (getenv "FLOWDOCK_PASSWORD"))))
(setq rcirc-authinfo
`(("freenode" nickserv "thiagofm" ,(getenv "FREENODE_PASSWORD"))
("flowdock-wimdu" nickserv "thiago.massa@wimdu.com" ,(getenv "FLOWDOCK_PASSWORD"))))
; Keep input line at bottom.
(add-hook 'rcirc-mode-hook
(lambda ()
(set (make-local-variable 'scroll-conservatively)
8192)))
(setq rcirc-omit-responses
(quote ("JOIN" "PART" "QUIT" "NICK" "AWAY" "MODE")))
(add-hook 'rcirc-mode-hook (lambda ()
(flyspell-mode 1)))
(setq rcirc-default-nick "thiagofm")
(setq rcirc-default-full-name "Thiago Massa")
(setq rcirc-default-user-name "thiago")
(rcirc-track-minor-mode 1)
(eval-after-load 'rcirc
'(defun-rcirc-command reconnect (arg)
"Reconnect the server process."
(interactive "i")
(unless process
(error "There's no process for this target"))
(let* ((server (car (process-contact process)))
(port (process-contact process :service))
(nick (rcirc-nick process))
channels query-buffers)
(dolist (buf (buffer-list))
(with-current-buffer buf
(when (eq process (rcirc-buffer-process))
(remove-hook 'change-major-mode-hook
'rcirc-change-major-mode-hook)
(if (rcirc-channel-p rcirc-target)
(setq channels (cons rcirc-target channels))
(setq query-buffers (cons buf query-buffers))))))
(delete-process process)
(rcirc-connect server port nick
rcirc-default-user-name
rcirc-default-full-name
channels))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment