X-Git-Url: http://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=lisp%2Friece-xface.el;h=a4fd4ae39a41257cec3b5ee6c90d5370128f6fdb;hp=b94b006269b04ca4f7afa69f1f38528ede494774;hb=353a035762d1006943b0432e9b6aa1854de9ec13;hpb=8f85eb7ad3c09298932116b76d2ee6ad415a354c diff --git a/lisp/riece-xface.el b/lisp/riece-xface.el index b94b006..a4fd4ae 100644 --- a/lisp/riece-xface.el +++ b/lisp/riece-xface.el @@ -31,9 +31,7 @@ (require 'riece-identity) (require 'riece-globals) (require 'riece-display) -(eval-when-compile (require 'riece-lsdb)) - -(defvar riece-xface-enabled nil) +(require 'riece-lsdb) (defconst riece-xface-description "Display X-Face in IRC buffers.") @@ -41,7 +39,7 @@ (defvar lsdb-insert-x-face-function) (defun riece-xface-update-user-list-buffer () - (if riece-xface-enabled + (if (get 'riece-xface 'riece-addon-enabled) (riece-scan-property-region 'riece-identity (point-min)(point-max) (lambda (start end) @@ -68,23 +66,25 @@ 'riece-xface-update-user-list-buffer t t)) (defun riece-xface-insinuate () + (if riece-user-list-buffer + (with-current-buffer riece-user-list-buffer + (riece-xface-user-list-mode-hook))) (add-hook 'riece-user-list-mode-hook 'riece-xface-user-list-mode-hook)) (defun riece-xface-uninstall () + (if riece-user-list-buffer + (with-current-buffer riece-user-list-buffer + (remove-hook 'riece-update-buffer-functions + 'riece-xface-update-user-list-buffer t))) (remove-hook 'riece-user-list-mode-hook - 'riece-xface-user-list-mode-hook) - (with-current-buffer riece-user-list-buffer - (remove-hook 'riece-update-buffer-functions - 'riece-xface-update-user-list-buffer t))) + 'riece-xface-user-list-mode-hook)) (defun riece-xface-enable () - (setq riece-xface-enabled t) (if riece-current-channel (riece-emit-signal 'user-list-changed riece-current-channel))) (defun riece-xface-disable () - (setq riece-xface-enabled nil) (if riece-current-channel (riece-emit-signal 'user-list-changed riece-current-channel)))