Firefox が出来て emacs-w3m が出来ないものを実装する会会長の白井
です。
ぼくが Firefox で使っている機能拡張に tab mix plus がありまして、
その中に「セッションの保存、再現」という機能があります。
一言でいうと、今見ているタブをまとめて保存して、後で復活させる機
能です。ある意味 bookmark より便利だと思っています。
# 今時の Firefox だと自分自身で持っている機能かもしれません。
というのを emacs-w3m にも組み込んでみました。まだ、綺麗にまとめ
ていないのと、下記に書く理由から commit はしていません。
ぼくは↓で使っています。キーバインドはこんなものかな?
(when (locate-library "w3m-session")
(add-hook 'w3m-mode-hook
(lambda ()
(require 'w3m-session)
(define-key w3m-mode-map "\M-s" 'w3m-session-select)
(define-key w3m-mode-map "\M-S" 'w3m-session-save))))
効能:
(1) M-S すると、現在のセッションに名前を付けて保存する。
すでに存在するものの名前を付けると前のものを上書きする。
(2) M-s すると、保存したセッションの選択モードに入る。
・n, C-n, ↓ 下に動く
・p, C-p, ↑ 上に動く
・C-m, return 選択したセッションを復元する。
・s, S 現在のセッションに名前を付けて保存する。
・d, D 選択したセッションを削除する。
・q, Q, spc 選択モードを抜ける。
(3) "Q" で w3m を終了するときなどに、その時のセッションを自動保
存する。
悩んでいる点+事情:
(1) w3m-session-select() は (面倒だったので)mode を作らないで、
read-event() でループを回しているが、これでよいのか?個人的
にはこれ以上の機能は必要ないけど、マウス対応とか今のままだと
大変そうな予感が。。。
(2) このままでは XEmacs では動かない。少なくとも read-event() と
frame-first-window() は XEmacs には無かった記憶がある。
(3) w3m-quit() で自動保存って問答無用でやってもよいか?それとも
オプションで選択かしらん。
(4) 実は今日は年休でして、昨日の夜からちょこちょこやっていたのを
今作り上げたんだけど、自宅には XEmacs 持っていないし、もう出
かけちゃうので作業ができない。このまま手元に持っているより
ML に出した方が良いような気がする ^^;;;
です。興味のある方は使ってみてください。
--
白井秀行 (mailto:shirai@xxxxxxxxxxx)Attachment:
w3m-session.el.gz
Description: Binary data