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

Re: w3m-weather



From: TSUCHIYA Masatoshi <tsuchiya@pine.kuee.kyoto-u.ac.jp> さん曰く
Subject: [emacs-w3m:01699] Re: w3m-weather
Message-ID: <20011012120841O.1000@pine.kuee.kyoto-u.ac.jp>
Date: Fri, 12 Oct 2001 12:08:40 +0900

土> w3m-weather を Yahoo! の天気情報サイトを利用するように再編しました。

素晴らしい。週間予報はみたかったんです。特に遊びに行く先の週末の
天気が大切。

# 週末の栃木は大丈夫だな :-)

土> そのため、w3m-weather-default-area に指定できる地方名が変更されていま
土> すので、個人設定の追従をお願いします。

で、前から不便に思っているのですが、C-u M-x w3m-weather で立ち上
げたときに、TAB 等で地方名を補完して使いますよね、普通は。

ところが、漢字なので補完するのが面倒くさい、mouse 使うのもいや、
window を変えてリターンで選択も補完バッファが日本語で sort され
るため順番が狂っていてわかりにくい、という問題があります。

90% 力ずくだけど ↓ こんなのはどうでしょう。

# 地方名を漢字で minibuffer から入力する人っていない、という前提
# なんだけど。Yahoo になってますます面倒くさいもんね。

(defvar w3m-weather-comp-alist nil)
(defvar w3m-weather-comp-hist nil)
(defvar w3m-weather-comp-default nil)

(defun w3m-weather (&optional area)
  "Display weather report."
  (interactive)
  (unless area
    (if (null current-prefix-arg)
	(setq area w3m-weather-default-area)
      (unless w3m-weather-comp-alist
	(let ((i 0))
	  (mapcar
	   (lambda (x)
	     (setq w3m-weather-comp-alist
		   (cons (cons (format "%03d:%s" i (car x)) (cdr x))
			 w3m-weather-comp-alist))
	     (setq i (1+ i)))
	   w3m-weather-url-alist)
	  (mapcar
	   (lambda (x)
	     (setq w3m-weather-comp-hist (cons (car x) w3m-weather-comp-hist)))
	   w3m-weather-comp-alist)
	  (setq w3m-weather-comp-default
		(car (rassoc (cdr (assoc w3m-weather-default-area
					 w3m-weather-url-alist))
			     w3m-weather-comp-alist)))))
      (setq area (completing-read
		  (format "Input area(%s): " w3m-weather-default-area)
		  w3m-weather-comp-alist
		  nil t nil
		  'w3m-weather-comp-hist
		  w3m-weather-comp-default))
      (when (string-match "^[0-9]+:" area)
	(setq area (substring area (match-end 0))))))
  (w3m (format "about://weather/%s" area)))

# %03d は w3m-weather-url-alist の length みて変えるべきかな。

-- 
白井秀行@午後一杯の会議からやっと帰ってきたら、http tunnel が出
         来なくなっている。;_;