[Mew-dist 16808] Re: mew-w3m.el + multipart/related

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2001年 3月 12日 (月) 11:33:24 JST


From: KAMEI Ken-ichi <mule at example.com> さん曰く
Subject: [Mew-dist 16807] Re: mew-w3m.el + multipart/related
Message-ID: <20010311.233449.60855270.mule at example.com>
Date: Sun, 11 Mar 2001 23:33:49 +0900

亀井> kamei> ひょっとして meadow では画像を表示できない?
亀井> 
亀井> 白井> ぴんぽん!!
亀井> 
亀井> うぐぅ。やはり。(泣

^^;;;

亀井> うーん。bitmap で表示するようにするのは大変なのでしょうか?

表示するだけならそんなに大変じゃないと思うけど、

亀井> 時間ができたら覗いてみようかしら。でも理解できなさそう。:-(

その bitmap を消す方が難しいかもしれません。w3m.el でいうと
w3m-remove-image() という関数です。

それに、表示出来ても『遅いし、汚い』ですよ。以前、冗談で作ったも
のがあるのですが、これを使うと bitmap.el の機能を使って、Mew で
image/xxx な part を inline 表示します。遅さと汚さを体験してみて
くださいませ。あんまり遅いときは C-g の連打かな。
結構適当に作ってあるし、ImageMagick の "conver" を使っています。


;; xbm を使った inline 表示 (確か初公開)
(add-hook
 'mew-init-hook
 (lambda ()
   (unless (mew-image-inline-p 'jpeg)
     (when (and window-system
		(featurep 'bitmap)
		(mew-which-exec "convert"))
       ;; view image use bitmap.el
       (defun mew-image-inline-p (format) t)
       (defun mew-mime-image (cache begin end format)
	 (message "Loading image ... ")
	 (let ((infile (concat
			(expand-file-name
			 (make-temp-name "img") mew-temp-dir)
			"." (symbol-name format)))
	       (xbmfile (concat
			 (expand-file-name
			  (make-temp-name "img") mew-temp-dir)
			 ".xbm")))
	   (save-excursion
	     (set-buffer cache)
	     (setq imgdate
		   (string-as-unibyte
		    (buffer-substring-no-properties begin end)))
	     (with-temp-buffer
	       (if (eq format 'xbm)
		   (progn
		     (insert imgdate)
		     (mew-frwlet
		      mew-cs-dummy
		      mew-cs-text-for-write
		      (write-region (point-min) (point-max) xbmfile nil 'nomsg)))
		 (set-buffer-multibyte nil)
		 (insert imgdate)
		 (mew-flet
		  (write-region (point-min) (point-max) infile nil 'nomsg))
		 (apply (function call-process)
			"convert" nil nil nil
			(list infile xbmfile)))))
	   (when (file-exists-p xbmfile)
	     (mew-elet
	      (delete-region (point-min) (point-max))
	      (mew-frwlet
	       mew-cs-text-for-read mew-cs-text-for-write
	       (bitmap-insert-xbm-file xbmfile)))
	     (when (and (file-exists-p infile)
			(file-writable-p infile))
	       (delete-file infile))
	     (when (and (file-exists-p xbmfile)
			(file-writable-p xbmfile))
	       (delete-file xbmfile))
	     (message "Loading image...done."))))
       ))
   ))

亀井> p.s.
亀井> 
亀井> meadow の 21 base って話はまだ先なのかなぁ。

まだまだかな。

-- 
白井秀行 (mailto:shirai at example.com)



Mew-dist メーリングリストの案内