かわちょぶろぐ

三十路のヒゲ男がぶたさんグッズを集めていたりするブログ。

アクティブでないウィンドウのカーソルの表示/非表示

~/.emacs に次のように書いておくと、アクティブでないウィンドウのカーソルを非表示にできる。ネタ元は永野圭一郎さんの Emacs21 メモ

;;; アクティブでないウィンドウのカーソルの表示/非表示
(setq-default cursor-in-non-selected-windows nil)

バッファローカルな変数だったので、setq じゃなくて setq-default でデフォルト値を設定し、モードごとにフックで設定する。

「Mew でメールを読んでいるときに Message バッファの本文先頭文字に非アクティブカーソルが重なって鬱陶しかった問題」がこれで解決。デフォルトでは表示、Mew の Message バッファでは非表示、とする場合は、上記変数のデフォルト値を t にして、~/.mew.el に次のように書いておく。

;;; メッセージモードのウィンドウが非アクティブなとき、
;;; 空のカーソルを表示しないようにする
(add-hook 'mew-message-mode-hook
          (lambda()
            (setq cursor-in-non-selected-windows nil)))