メールを見る時間を制限して、時間を得るライフハック with mew

メールは時間吸血鬼

あなたは、一日にどれくらいの時間をメールに費やしていますか? 少しでも暇ができると、ついついメールを見ていたりしませんか?

メールチェック1回につき1分だとして、10回もチェックしていたら、10分消費します。 対して、一日1回にしてしまえば、この場合10分もかかりません。 まとまったメールをチェックするため、メールチェックに集中することができるからです。 それが1ヶ月、1年となると、相当な時間を節約できることになります。 『塵も積もれば山となる』。

メールチェックにちょくちょく時間を使っていたら、前後のタスクとの頭の切り替えにオーバーヘッドがかかります。 そう考えると、メールは時間を吸い取る、いわば『時間吸血鬼』といえるでしょう。

しかし、ついつい見てしまうものですね。 そこで、決めた時間外では新規メールをチェックしないようにする設定をしました。 ここではMew(Emacs 23)ですが、他のメーラでも応用することができるでしょう。

mewでの設定

ここでは12:00〜17:59のみしかメールを見られないようにしています。 他の時間帯にしたければ、 mew-summary-retrieve-enable-hours の値を変更してください。

(require 'mew)
(setq mew-auto-get nil)
(defvar mew-summary-retrieve-enable-hours '(12 13 14 15 17)) ;12:00〜17:59のみ
(defun mew-new-mail-enable-hour-p ()
  "メールを見る時間かどうか"
  (and (member (string-to-number (format-time-string "%H")) mew-summary-retrieve-enable-hours) t))
(defun mew-summary-retrieve-with-time-limit (arg)
  "メールを見る時間に制限をつける"
  (interactive "P")
  (if (mew-new-mail-enable-hour-p)
      (mew-summary-retrieve arg)
    (error "メールを見る時間ではありません!")))

(defadvice mew (around with-time-limit activate)
  "メールを見る時間に制限をつける。メールを見るべき時間ではないときは、新規メールを取得しない。"
  (let ((mew-auto-get (mew-new-mail-enable-hour-p)))
    ad-do-it))
;; (progn (ad-disable-advice 'mew 'around 'with-time-limit) (ad-update 'mew))

;;; mew-summary-mode-mapのiをmew-summary-retrieve-with-time-limitに置き換える
(substitute-key-definition 'mew-summary-retrieve 'mew-summary-retrieve-with-time-limit mew-summary-mode-map)