« ^ »

オーバーレイを表示して3秒後に消す

所要時間: 約 1分

EmacsのClojureの開発時に使うCIDERの使用感が良いため、同じような機構を他の言語でも対応できないかと考える事がしばしばあった。その一環として、オーバーレイの挙動を確認する事にした。

ここでやっている事は、オーバーレイを表示して3秒後に消すという事をしている。考えた記録として残しておく。

(setq overlay-display-second 3)
(setq overlay-display-foreground "white")
(setq overlay-display-background "black")

(let ((result "Ok")
      (ov (make-overlay (point) (point-at-eol) (current-buffer) nil t)))
  (kill-new result)
  (run-at-time overlay-display-second nil #'delete-overlay ov)
  (overlay-put ov 'after-string
      	 (propertize (format " => %s" result)
      		     'face '(:foreground overlay-display-foreground
                              :background overlay-display-background
                              )
      		   )))