Weather+の表示を正しくする.
ナゾの日本人widget作者Feel So Bad氏が作成した天気予報widget、The Weather+。
一週間分の予想をつけるという卓越したアイデアで定番アイテムにその名を連ね、一時期は正式版のThe Weatherをすっかり凌駕していたものの、度重なるwww.weather.comのURL変更のせいか開発が事実上停止してしまった.The Weather1.5が数日分の予報を付けたことも関係しているかもしれないが.
しかしながら、未だに「Weather+が動かないけどどうすりゃいいの」という声は国内/海外含めて多いのも確かだ.
改造方法
Weather+.widgetをctrl-clickしてパッケージを表示.「The Weather +.kon」をテキストエディタで開いて下記の修正を加える
- 124行目
(修正前)urldata = url.fetch("http://www.weather.com/search/search?where=" + escape(userCity) + "&what=WeatherLocalUndeclared");
(修正後)urldata = url.fetch("http://www.w3.weather.com/search/search?where=" + escape(userCity) + "&what=WeatherLocalUndeclared&setcookie=1"); - 207行目
(前)urldata = url.fetch("http://www.weather.com/search/search?where=94301&what=WeatherLocalUndeclared");
(後)urldata = url.fetch("http://www.w3.weather.com/search/search?where=94301&what=WeatherLocalUndeclared&setcookie=1"); - 216行目
(前)urldata = url.fetch("http://www.weather.com/weather/local/" + redirectCode[1]);
(後)urldata = url.fetch("http://www.w3.weather.com/weather/local/" + redirectCode[1]); - 234行目
(前)urldata = url.fetch("http://www.weather.com" + redirectCode[1]);
(後)urldata = url.fetch("http://www.w3.weather.com" + redirectCode[1]);
※ここはちょっと自信ない - 429行目
(前)WeeklyIcons[num][2].vOffset = 106 + (40*(num-1));
(後)WeeklyIcons[num][2].vOffset = 81 + (40*(num-1));
※Thunder stormのときにカミナリの位置がずれるのの修正.他の天気でも同様のことがありうるけど今のところ未確認.
これで一応は動作すると思われる.つっても人様のコードなので全容を把握してるわけではないので保証はしないけど.
#一応、思い当たる都市名をいくつか入れて動いてることは確認したけど.
なお、この修正ではday-off bugは直らないため、表示に誤りが出る場合があるので注意が必要.そのうちTrekForecastのコードから引っ張ってきて直すよ