[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

spinner (was Re: problem with attaching)



Now emacs-w3m shows a spinner animation in the XEmacs' modeline.
However, I haven't succeeded to show it in the Emacs frame yet.

>>>>> In [emacs-w3m : No.05791] Katsumi Yamaoka wrote:

> Emacs 21 ではページの取得中に `w3m-tab-line' が何度も呼ばれてい
> ることを知りました。それが何に起因するのかわかりませんが、ことに
> よるとアニメーションの表示が可能かもしれない、というおはなし。

どうも Emacs 21 の header-line では、画像の再描画がうまくいかな
いようなのです。よろしければ以下を eval してみて下さい。

(let* ((buffer (get-buffer-create "*spinning test*"))
       (spinner (create-image
		 (expand-file-name "spinner.gif" w3m-icon-directory)
		 'gif nil :ascent 'center :mask 'heuristic))
       (index 0)
       (timer
	(run-at-time
	 0.1 0.1
	 (lambda (buffer)
	   (message "(%s) Press any key to stop it: " index)
	   (set-buffer buffer)
	   (setq header-line-format
		 (propertize
		  "x" 'display
		  (cons 'image (plist-put (cdr spinner)
					  :index index))))
	   (setq index (if (>= index 2) 0 (1+ index))))
	 buffer)))
  (switch-to-buffer-other-window buffer)
  (unwind-protect
      (read-event)
    (discard-input)
    (cancel-timer timer)
    (delete-window)))
-- 
Katsumi Yamaoka <yamaoka@jpl.org>