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

w3m-session-save|select



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