;; -*- emacs-lisp -*- ;; Fichier de configuration de ERC (Client IRC pour Emacs) ;; Author: Olivier Tetard ;; URL : http://toutoune25.miskin.fr/ ;; This file 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 2, or (at your option) any ;; later version. ;; This file 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 GNU Emacs; see the file COPYING. If not, write to the Free ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ;; 02111-1307, USA. ;; ,---- ;; | Configuration générale : ;; `---- (setq erc-user-full-name "Olivier Tétard") (setq erc-email-userid "toutoune25") (setq erc-nick "toutoune25") ;; disabled: bbdb (setq erc-modules (quote (autojoin button fill log match netsplit notify pcomplete completion readonly ring scrolltobottom services smiley sound stamp track nickserv))) ;; Autojoin (setq erc-autojoin-channels-alist '(("\\(geeknode.org\\|esigetel.fr\\)" "#calvix" "#Troll" "#linux") ("irc.wikimedia.org" "#fr.wikiquote") ("freenode.net" "#miskin" "#arsouyes" "#wikiquote-fr" "#pycorr"))) ;; Higlight (setq erc-current-nick-highlight-type 'all) (setq erc-keywords '("\\toutoune25\\b")) (setq erc-pals '("plop42")) ;; On s'identifie automatiquement (setq erc-nickserv-passwords '((freenode (("toutoune25" . irc_password))))) ;; On s'identifie aussi sur Geeknode (pas de NickServ) (add-hook 'erc-after-connect '(lambda (SERVER NICK) (cond ((string-match "\\(geeknode.org\\|esigetel.fr\\)" SERVER) (erc-message "PRIVMSG" (concat "C nick identify " irc_password)))))) ;; Tracking (setq erc-track-exclude '("auth" "nickop" "root")) (setq erc-track-exclude-types '("NICK" "QUIT" "JOIN" "PART")) ;; On logge tout (setq erc-enable-logging t) (setq erc-log-channels-directory "~/.erc/logs/") ;; Function ;; (http://members.iinet.net.au/~striggs/elisp/mst-erc.el) (defun erc-mst-log (buffer target nick server port) (downcase (format "%s/%s-%s.log" erc-log-channels-directory server target))) ;; ,---- ;; | Affichage : ;; `---- ;; Largeur de la zone de texte (setq erc-fill-column 110) ;; On aligne les nicknames (setq erc-fill-function 'erc-fill-static) (setq erc-fill-static-center 15) ;; Timestamps (setq erc-timestamp-only-if-changed-flag nil) (setq erc-timestamp-format "[%R] ") (setq erc-fill-prefix " ") (setq erc-insert-timestamp-function 'erc-insert-timestamp-left) ;; On affiche les timestamps (setq erc-hide-timestamps nil) ;; Prompt (setq erc-prompt (lambda () (if (and (boundp 'erc-default-recipients) (erc-default-target)) (erc-propertize (concat (erc-default-target) ">") 'read-only t 'rear-nonsticky t 'front-nonsticky t) (erc-propertize (concat "ERC>") 'read-only t 'rear-nonsticky t 'front-nonsticky t)))) ;; Auto query (setq erc-auto-query 'buffer) ;; On veut que les NOTICE affichent une nouvelle frame aussi (add-hook 'erc-after-connect (lambda (server nick) (add-hook 'erc-server-NOTICE-hook 'erc-auto-query))) ;; On veut buttonizer *toutes* les URLs (meme google.com) (setq erc-button-url-regexp "\\([-a-zA-Z0-9_=!?#$@~`%&*+\\/:;,]+\\.\\)+[-a-zA-Z0-9_=!?#$@~`%&*+\\/:;,]*[-a-zA-Z0-9\\/]") ;; Son (setq erc-sound-path '("~/.erc/sounds")) (setq erc-default-sound "~/.erc/sounds/ni.wav") (setq erc-play-command "aplay") ;; Vrac (setq erc-netsplit-regexp "^$") ; foil erc-netsplit.. (setq erc-verbose-dcc nil) (setq erc-save-buffer-on-part t) (setq erc-save-queries-on-quit t) (setq erc-generate-log-file-name-function 'erc-mst-log) (setq erc-track-visibility nil) (setq erc-log-insert-log-on-open nil) (setq erc-prompt-for-password nil) (custom-set-faces '(erc-current-nick-face ((t (:foreground "red" :slant oblique :background: "yellow"))))) (provide 'tt25-erc)