[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: `C-c C-w' の戻り先
白井です。
From: TSUCHIYA Masatoshi <tsuchiya@xxxxxxxxxx> さん曰く
Subject: [emacs-w3m:09865] Re: `C-c C-w' の戻り先
Message-ID: <871w9i3fk2.fsf@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 19 Dec 2007 23:49:33 +0900
> >> On Wed, 19 Dec 2007 23:14:40 +0900 (JST)
> >> tats@xxxxxxxxxxxxxx (Tatsuya Kinoshita) said as follows:
>
> >> 複数の *w3m* バッファがあるときに `C-c C-w' (w3m-delete-buffer) を実行
> >> した後で選択されるのは、現在は一つ前のバッファです。つまり、Tab を使っ
> >> ている場合は左隣に行きます。これをFirefox のように、以前に最後に選択し
> >> ていたバッファに戻るのはいかがでしょうか?
>
> >個人的には、一つ前や元のバッファに戻るよりも、別バッファ(Tab)で開いた未
> >読の消化を優先したいので、下記のような使い方をしています。
>
> 私が良くやるのは,
>
> C-u M-x w3m-antenna RET
> 更新されたページリストの部分に対して region を設定して,S-RET
> 1つのページ(= タブ)を見る毎に,C-cC-w で閉じていく
> 全て閉じ終わったら,巡回終了
>
> という使い方なので,私も木下さんの使い方に1票かと思います.
木下さん土屋さんの使い方はいつもしていますが、ぼくの場合は、
C-cC-w では元のバッファに戻るのが好みかなぁ。だけど、今のまま(左
隣)でも、次の未読バッファでもなにも問題ないので強く主張するもの
ではありますせん。
そして、木下さん、土屋さんの「次の未読バッファに移動」というのは、
新規コマンドを作った方が便利ではないか?という感じがします。
荒削りだし、未読/既読をどうやって決めるか?という問題はあります
が。。。
(defvar w3m-buffer-unseen nil)
(make-variable-buffer-local 'w3m-buffer-unseen)
(add-hook 'w3m-display-hook 'w3m-set-buffer-unseen)
(defun w3m-set-buffer-unseen (&optional url)
(setq w3m-buffer-unseen t)
(add-local-hook 'pre-command-hook 'w3m-set-buffer-seen))
(defun w3m-set-buffer-seen ()
(setq w3m-buffer-unseen nil)
(remove-local-hook 'pre-command-hook 'w3m-set-buffer-seen))
(add-hook 'w3m-mode-hook
(lambda ()
(define-key w3m-mode-map "\C-c\C-m" 'w3m-move-unseen-buffer)))
(defun w3m-unseen-buffer-p (buffer)
(save-excursion
(set-buffer buffer)
w3m-buffer-unseen))
(defun w3m-move-unseen-buffer ()
"Move to next unseen buffer."
(interactive)
(when (eq major-mode 'w3m-mode)
(let* ((bufs (w3m-list-buffers))
(right (memq (current-buffer) bufs))
unseen)
(setq unseen
(catch 'unseen
(dolist (buf (append right bufs))
(when (w3m-unseen-buffer-p buf)
(throw 'unseen buf)))))
(if (not unseen)
(message "No unseen buffer.")
(switch-to-buffer unseen)
(run-hooks 'w3m-select-buffer-hook)
(w3m-select-buffer-update)))))
な感じ。w3m-unseen-buffer-p() の判定で tab の face を変えたり、
w3m-select-buffer-generate-contents() や
w3m-tab-menubar-make-items-1() の文字列をいじるとますますよいか
も。
--
白井秀行 (mailto:shirai@xxxxxxxxxxx)