[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 keep window start when w3m-view-this-url()
- From: Hideyuki SHIRAI (
白井秀行
) <shirai@xxxxxxxxxxx>
 
- Date: Thu, 16 Dec 2004 22:34:00 +0900 (JST)
 
- X-ml-name: emacs-w3m
 
- X-mail-count: 07271
 
白井です。
hoge.el なコードを評価しておいて、local においた hoge.html から
w3m-view-this-url() や w3m-mouse-view-this-url() で hote.txt を
呼ぶと w3m なバッファの見え方が、本当は
+---------------------+
|20                   | 
|21                   |  (1)
|22                   | 
|23                   | 
=                     =
なように出てきて欲しいのですが、
+---------------------+
|1                    | 
|2                    |  (2)
|3                    | 
=                     =
となってしまいます。 ちょっとだけ調べると、
(defsubst w3m-view-this-url-1 (url reload new-session)
  (lexical-let (pos buffer newbuffer wconfig)
   <<snip>>
    (let (handler)
      (w3m-process-do
	  (success
	   (save-window-excursion
	     (prog1
		 (w3m-goto-url url reload nil nil w3m-current-url handler)
	       (setq newbuffer (current-buffer)
		     wconfig (current-window-configuration)))))
この save-window-excursion から抜ける前は (1) の状態なのですが、
抜けたときに (2) となってしまいます。
window-size-change-functions かな、と思ったのですが、違うようで
す。また、Emacs20, Emacs21 はこうなりました。
どうでも良いといえばどうでも良いところのような気もしますが、ちょっ
とお手上げで、出来たら期待通り動いて欲しいので、help です(_ _)。
# view-this-url-new-session() とが goto-url() だと (1) で大丈夫
# なところが悔しいところ。
-- 
白井秀行 (mailto:shirai@meadowy.org)
(add-hook 'w3m-display-hook 'hoge-start-window t)
(defun hoge-start-window (url)
  (when (and (w3m-url-local-p url)
	     (string-match "/hoge\.txt$" url)
	     (re-search-forward "^20$" nil t))
    (beginning-of-line)
    (set-window-start (selected-window) (point))))
hoge
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39