マニュアル/ソースを良く読もう!
- 平成22年9月3日(金) 16時09分06秒
- 区分
- Emacs
- 報告者:
- chiba
こんにちは、chibaです!
完全にネタ切れなので、中途半端に失敗談を書きます。
skype.elは非常に便利なのですが、自分のEmacsの操作が鈍い所為かチャットの切り換えにいつも、もたもたしておりました。
このままではいけないと思った私は、便利elispを書いて対応することに。
社内のSkypeの利用形態としては、グループチャットが主で使われる部屋も2つ位と少ないので、このチャットをキー一発で開ければOKであろうと思われました。
ということで、skype.elをちらちら見つつ、
(require 'cl)
(defun *skype-find-ai-chat (name)
(let ((chat (find-if (lambda (x)
(search name
(aref x 2)))
(skype--chat-get-recent-objects))))
(when chat
(switch-to-buffer
(skype--open-chat-buffer chat)))))
(defun skype-open-konnichiwa-chat ()
(interactive)
(*skype-find-ai-chat "こんにちは"))
(defun skype-open-kombanwa-chat ()
(interactive)
(*skype-find-ai-chat "こんばんは"))
(defun skype-open-oyasuminasai-chat ()
(interactive)
(*skype-find-ai-chat "おやすみなさい"))
(define-key global-map [(super ?1)] 'skype-open-konnichiwa-chat)
(define-key global-map [(super ?2)] 'skype-open-kombanwa-chat)
(define-key global-map [(super ?3)] 'skype-open-oyasuminasai-chat)
のような物を書いてみました。
これで、Super-1〜2で目的の部屋を一発で開くことができます。
これは割と便利だなーと思いつつ、改めて、skype.elを眺めたところ、
(global-set-key (kbd "M-9") 'skype--anything-command)とするとanything.elと連携できて良いよ!との解説が。
試してみたところ、断然こっちの方が便利でした。
やはりREADME的なものはちゃんと読もう、と思った次第です。
■