[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
multi buffer under emacs-w3m
- From: TSUCHIYA Masatoshi <tsuchiya@xxxxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 14 Nov 2003 15:19:14 +0900
- X-ml-name: emacs-w3m
- X-mail-count: 06058
他力本願モード.
current-buffer 操作
1. *scratch* M-x w3m RET
2. *w3m* M-x w3m-copy-buffer RET
3. *w3m*<2> q
4. *scratch* M-x w3m RET
という操作をすると,*w3m* バッファが表示されますが,最後に表示されてい
た *w3m*<2> に戻って欲しいのですが.特に,2つのバッファが別々のページ
を表示している場合で,通常のバッファと emacs-w3m のバッファを頻繁に切
り換えるような使い方をしていると,それが便利だと思います.
;; frame を使っている人は恩恵があまりないでしょうけれど.
超手抜きに実装するならば,末尾のパッチでできると思います.ただ,これは
あまりに手抜きな実装なので,最近の山岡さんが追求されている一貫性を壊し
ているだろうと思います.
と言うわけで,ちょっと検討して貰えませんか.
--
土屋 雅稔 ( TSUCHIYA Masatoshi )
--- w3m.el 14 Nov 2003 00:22:52 -0000 1.487.2.85
+++ w3m.el 14 Nov 2003 06:14:25 -0000
@@ -5958,11 +5958,16 @@
(w3m-cookie-shutdown))
(w3m-kill-all-buffer)))
+(defvar w3m-last-visited-buffer nil)
+
(defun w3m-close-window ()
"Return to a restless life. This command closes all emacs-w3m windows,
but all the emacs-w3m buffers remain. Frames created for emacs-w3m
sessions will also be closed. See also `w3m-quit'."
(interactive)
+ (let ((buf (window-buffer (selected-window))))
+ (setq w3m-last-visited-buffer
+ (and (memq buf (w3m-list-buffers t)) buf)))
(w3m-delete-frames-and-windows)
(let* ((buffers (w3m-list-buffers t))
(bufs buffers)
@@ -7002,7 +7007,9 @@
(not url)))) ;; interactive-p
(let ((nofetch (eq url 'popup))
(buffer (unless new-session
- (w3m-alive-p t)))
+ (if (memq w3m-last-visited-buffer (w3m-list-buffers t))
+ w3m-last-visited-buffer
+ (w3m-alive-p t))))
(popup-frame-p (and (not interactive-p) (w3m-popup-frame-p)))
(w3m-pop-up-frames (and interactive-p w3m-pop-up-frames))
(w3m-pop-up-windows (and interactive-p w3m-pop-up-windows)))