(require 'per-buffer-theme) ;;; バッファ名がこれらに一致しているときは動作させない (setq per-buffer-theme/ignored-buffernames-regex '("\\*mini" "\\*Mini" "\\*helm" "\\*Helm" "\\*anything" "\\*Anything" "One-Key" "guide-key")) ;;; デフォルトのtheme (setq per-buffer-theme/default-theme 'whiteboard) ;;; 設定! ;;; バッファ名がbuffernamesに一致するか、 ;;; メジャーモードがmodesに一致するかでthemeを決定する (setq per-buffer-theme/themes-alist '(((:theme . notheme) ;テーマを解除 (:buffernames . ("*eww" "*w3m" "*mu4e")) (:modes . (eww-mode w3m-mode cfw:calendar-mode mu4e-main-mode mu4e-headers-mode mu4e-view-mode mu4e-compose-mode mu4e-about-mode mu4e-update-mode))) ((:theme . tango-dark) (:buffernames . ("*Help*")) (:modes . (nil))) ;; マッチしない場合は per-buffer-theme/default-theme を採用 )) ;;; other-windowでもthemeを切り替えさせる (defun per-buffer-theme--after-advice(&rest _) (per-buffer-theme/change-theme-if-buffer-matches)) ;; ウィンドウを切り替える他のコマンドでもアドバイスを追加する必要があるかもしれない (advice-add 'other-window :after 'per-buffer-theme--after-advice)