Elscreen と skype.el
現在のskype.elはウインドウがいろいろ出てきて混乱するのですが、Elscreenと組み合わせることでかなり使いやすくなります。手元では以下のように連携させています。
新規チャットでスクリーンを開いたり、チャットを閉じるとスクリーンを終了するようになります。いくつもチャットを開いているときに便利ではないかと思います。
(autoload 'skype--anything-command "skype" "Skype") (defun setup-elscreen-skype () (when (and (featurep 'elscreen) (featurep 'skype)) (defadvice skype--open-chat-buffer (before elscreen-skype-open-chat activate) (save-current-buffer (elscreen-create))) (defadvice skype--chat-mode-quit-command (after elscreen-skype-quit-chat activate) (unless (elscreen-one-screen-p) (elscreen-kill))) (defadvice skype--kill-chat-buffer-command (after elscreen-skype-kill-chat activate) (unless (elscreen-one-screen-p) (elscreen-kill))) (defun skype--elscreen-title-name-map (x) (if (string-match "Skype\\(Chat\\|Message\\):\\[\\(.*\\)\\]$" x) (let* ((title (match-string 2 x)) (buf (get-buffer x)) (missed (if buf (skype--chat-missed-p (buffer-local-value 'skype-chat-handle buf)) nil))) (concat (if missed "★" "☆") title)) x)) (add-to-list 'elscreen-my-title-maps 'skype--elscreen-title-name-map) )) (eval-after-load "elscreen" '(setup-elscreen-skype)) (eval-after-load "skype" '(setup-elscreen-skype))