[Mew-dist 2735] Re: show X-Face like XEmacs

KORIYAMA Naohiro kory at example.com
1997年 10月 25日 (土) 12:52:31 JST


>>> Sat, 25 Oct 1997 01:26:44 +0900 (JST) の刻に 「ふ」、すなわち
>>> fuji0924 at example.com(OKUNISHI Fujikazu) 氏曰く

ふ> 'from でも顔に色がつかなくなりましたね。(^_^)

Mew 1.92b10で、highlightが変わったからではないかと思います。
highlightされなくなったおかげで、14pointで立ち上げたEmacsでもしっかり
とbitmap表示できるようになりました。うれしいです。ばんざーい。

ふ> o+> "Fri, 24 Oct 1997 15:52:09 +0900" に発信されたメッセージ
ふ> o+> <19971024155209D.koriyama at example.com> にて
ふ> o+> "こ" == KORIYAMA Naohiro <koriyama at example.com> が仰るには..
ふ> ;; x-face-mule からの引用の是非については別として
ふ> ;;; また僕の改竄が美しいかどうかはもっと別として(^_^;
ふ> まだ beg end の意味がおかしい(最初に与えられるのと途中から拘束される
ふ> のとで異なる)のでちょろっとだけいじりました。(^_^;;
ふ> ついでに std11.el を呼ばないようにしてありますので 'from の時は自前で
ふ> 完結します(elips ML 的コード(^_^;)。

ううう、ありがとうございます。

こ> (mew-toggle-x-face-type) x-faceの表示タイプの toggle です。
ふ> メニューでくるくる回せるといいですね:-)

やはり、そうきましたか。一応TODOリストに加えておいてはいたのですが。
というわけで、付けておきます。(私あんまりmenuつかわないものでとり
あえずいいやと思っていました)

<< ここから >>
;;; menu for mew-xface-mule
(defvar mew-xface-mule-menu-spec
  '("X-Face-Mule"
    ["Show X-Face at From:" mew-xface-mule-show-at-from t]
    ["Show X-Face at X-Face:" mew-xface-mule-show-at-xface t]
    ["Don't Show X-Face" mew-xface-mule-show-no t]
))
(add-hook 'mew-init-hook
  (function (lambda ()
    (easy-menu-define
      mew-xface-mule-menu
      mew-summary-mode-map
      "Menu for mew-xface-mule."
      mew-xface-mule-menu-spec)
    (easy-menu-define
      mew-xface-mule-menu
      mew-virtual-mode-map
      "Menu for mew-xface-mule."
      mew-xface-mule-menu-spec))))

;;

(defun mew-xface-mule-show-at-from ()
  (interactive)
  (message "Show X-Face at From: field.")
  (setq mew-opt-highlight-x-face-type 'from)
  (mew-summary-display))
(defun mew-xface-mule-show-at-xface ()
  (interactive)
  (message "Show X-Face at X-Face: field.")
  (setq mew-opt-highlight-x-face-type 'xface)
  (mew-summary-display))
(defun mew-xface-mule-show-no ()
  (interactive)
  (message "Don't Show X-Face.")
  (setq mew-opt-highlight-x-face-type nil)
  (mew-summary-display))
<< ここまで >>

こんな感じでいいんですかね? toggleの関数呼ぶより、どこに表示するかを直
に指定する方がよいだろうと思いました。
コマンドラインならtoggleの方がよいでしょうが。


こ> # 複数付いてくるX-Face(geometry付きのもの)とかにも対応しようかと、
こ> # 考え中。なにかいいアイデアがあったら、教えてください。
ふ> XEmacs みたいに while でまわして切り出すには current-buffer でなくて別
ふ> のバッファにポップアップして毎回 uncompface するということになるのかな。

ここらへんもあるので、x-face-muleとはいずれ訣別せざるを得ないでしょう。

ふ> ;; mew-env.el で XEmacs との違いがかなり吸収されてるようなので
ふ> ;; set-extent-begin-glyph() だけなんとかできれば寺西さんの XEmacs 用コー
ふ> ;; ドをベースに実現できそうな気もするのですが。

set-extent-begin-glyph()をエミュレートするEmacs/Mule用のコードを書くと
か。bitmap->fontに変換し、指定された位置に挿入するような感じかな。
# どなたか既にやってないかな、そういう事
あと、highlight-headers-x-face-to-pixmap()も必要でしょうね。XEmacs使え
る環境にないので、どういうことやっているのかわからないので、なんとも言
えないのですが。そういえば、前にXEmacsコンパイルしたときに、
libcompface.aみたいなのをリンクさせてたような。もしかして、これ使って
るのかな? まあ、自前でuncompface等を呼べばよい話だとは思いますが。
これらができれば、一本化できるかも。

# どなたかやりませんか?
--
こおりやま@いえ%他力本願モード



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