w3m-0.4 リリースノート

2002/02/11
坂本 浩則

w3m-0.3.2 以降に w3m に追加された新機能および修正されたバグについて 説明します。

新機能

バグ修正


タブ機能

[概要]

タブによるバッファ管理/操作を行います。 バッファの上部にタブを表示します。

[追加された keymap 関数]

幾つかの関数はキーバインドされていませんので、keymap ファイルに 記述して使用してください。
NEW_TAB  新しいタブを開いて、現在のページの複製を作ります。
デフォルトで `T' にバインドされています。
CLOSE_TAB  現在のタブを閉じます。
数(N) + CLOSE_TAB だと、N 番目のタブを閉じます。
デフォルトで `C-q' にバインドされています。
TAB_LINK  リンクが指す先の文書を新しいタブで開きます
数(N) + TAB_LINK だと、N 番目のタブで開きます
デフォルトで `C-t' にバインドされています。
TAB_GOTO  URL を指定して新しいタブで開きます。
数(N) + TAB_GOTO だと、N 番目のタブで開きます。
TAB_GOTO_RELATIVE
相対 URL を指定して新しいタブで開きます。
数(N) + TAB_GOTO_RELATIVE だと、N 番目のタブで開きます。
NEXT_TAB  次のタブに移動します。
数(N) + NEXT_TAB だと、N だけ次のタブに移動します。
デフォルトで `}' にバインドされています。
PREV_TAB  前のタブに移動します。
数(N) + PREV_TAB だと、N だけ前のタブに移動します。
デフォルトで `{' にバインドされています。
TAB_RIGHT  現在のタブを右に移動します。
数(N) + TAB_RIGHT だと、現在のタブを N だけ右に移動します。
TAB_LEFT  現在のタブを左に移動します。
数(N) + TAB_LEFT だと、現在のタブを N だけ左に移動します。
TAB_MENU  タブ選択メニューを立ち上げます。
タブ選択メニューの操作はバッファ選択メニューと同様です。
デフォルトで `ESC-t' にバインドされています。

[追加されたマウス操作]

デフォルトで以下の動作が定義されています。 クリック時の動作は、変更することも可能です。
左ボタン  タブ上でクリックすると、そのタブに移動します。 タブから別のタブまでドラッグすると、タブを移動します。 リンクからタブまでドラッグすると、そのタブでリンクを開きます。
中ボタン  タブ上でクリックすると、タブを閉じます。
右ボタン  特になし(= メニューを開く)。

[追加された config オプション]

open_tab_blank  target が _blank か _new の場合は新しいタブで開く。 デフォルトは NO。
close_tab_back  戻る時にバッファが最後ならタブを閉じる。 デフォルトは NO。

[追加されたコマンドライン・オプション]

-N  コマンドラインで指定された URL を別々のタブで開く

マウス操作のカスタマイズ

[概要]

設定ファイル(~/.w3m/mouse)に記述することで、 マウス操作をカスタマイズ可能です。 ただし、カスタマイズ可能なのはクッリク時の動作のみです。

[設定ファイルの形式]

以下の形式に対応しています。
  menu      <メニューの文字列>
  lastline  <最下行の文字列>
  button    <番号>  <位置>  <関数>  [<引数>]
menu  一行目に表示する<メニューの文字列>を設定します。
デフォルトはなし(メニューを表示しない)。
lastline  <最下行に表示する文字列>を設定します。
デフォルトは『≪↑↓』(または『<<UpDn』)。
button  マウス操作を設定します。

<番号> 
1 … 左ボタン
2 … 中ボタン
3 … 右ボタン
<位置> 
menu <x1> <x2>     … メニュー上でクリック
lastline <x1> <x2> … 最下行でクリック
default … 他の設定が無い時のデフォルト
anchor  … アンカー上でクリック
active  … アクティブなアンカー上でクリック
tab     … タブ上でクリック

<x1> … 左端のカラム位置
<x2> … 右端のカラム位置
<関数>  [<引数>]
keymap ファイルでの設定と同じです。

[デフォルトの設定]

button  1 default       MOVE_MOUSE
button  2 default       BACK
button  3 default       MENU_MOUSE

button  1 active        GOTO_LINK

button  1 tab           TAB_MOUSE
button  2 tab           CLOSE_TAB_MOUSE

lastline        "≪↑↓"
button  1 lastline 0 1  BACK
button  1 lastline 2 3  PREV_PAGE
button  1 lastline 4 5  NEXT_PAGE

と同等です。

2 ストローク・キーバインド

[概要]

2 ストローク・キーバインドが可能になりました。

以下の様に keymap を設定することが可能です。

  # `x' + Return で、フォームを submit する。
  keymap  "x \n"  SUBMIT
  # `x' + `u' で、URL を指定して新しいタブで開く。
  keymap  "x u"   TAB_GOTO

カーソル位置の Undo

[概要]

カーソルの位置を記憶するようになり、 最後のカーソル移動の取り消し(Undo)や Undo の取り消し(Redo)が可能になりました。

[追加された keymap 関数]

UNDO  最後のカーソル移動を取り消します。
デフォルトで `(' にバインドされています。
REDO  Undo を取り消します。
デフォルトで `)' にバインドされています。

ホイールマウス対応強化

[概要]

ホイールマウスへの対応が強化されました。

メニューでの使用も可能になりました。

[追加された config オプション]

relative_wheel_scroll
ホイールでのスクロール速度の扱いの選択。
  A: 画面サイズに比例
  B: 一定の行数
から選択。デフォルトは `A'。
relative_wheel_scroll_ratio
(A のみ)画面の何% スクロールするかを指定。 デフォルト値は 5。
fixed_wheel_scroll_count
(B のみ)スクロールする行数。 デフォルト値は 30。
   

保存時のバックグラウンド・ダウンロード

[概要]

ファイルを保存する時にバックグラウンドでダウンロードする ようになりました。
Download list panel にダウンロード状況の一覧の表示され、 ダウンロードの停止も可能です。

[追加された keymap 関数]

DOWNLOAD_LIST  ダウンロード状況の一覧を表示します。
デフォルトで `D' にバインドされています。

[追加された config オプション]

open_tab_dl_list  Download list panel を新しいタブで開きます。 デフォルトは NO。

data: URL スキーム対応

[概要]

以下の形式の data: URL スキーム (RFC2397) に対応しました。
  data:[<mediatype>][;base64],<data>

news:、nttp: URL スキーム対応強化

[概要]

news: および nttp: URL スキーム (RFC1738) 対応を強化しました。
以下の形式の URL に対応しています。
  News 記事の取得
    news:<message-id>
    nntp://<host>[:<port>]/<newsgroup-name>/<article-number>

  Newsgroup の記事の一覧 (新たに対応)
    news:<newsgroup-name>
また、RFC1738 では定義されていない以下の形式にも対応しています。
  News 記事の取得
    news:<newsgroup-name>/<article-number>
    nntp://<host>[:<port>]/<message-id>

  Newsgroup の記事の一覧
    news:<newsgroup-name>/<start-number>-<end-number>
    nntp://<host>[:<port>]/<newsgroup-name>
    nntp://<host>[:<port>]/<newsgroup-name>/<start-number>-<end-number>
Newsgroup の記事の一覧時には <newsgroup-name>.* にマッチする Newsgroup の一覧も表示されます。

記事を読み込んだ後でも News サーバとの接続は持続されます。

[追加された config オプション]

nntpserver  news: URL スキームの時の News サーバ(NNTP サーバ)。 デフォルト値は環境変数 NNTPSERVER。
nntpmodel  News サーバのモード。 デフォルト値は環境変数 NNTPMODE。
max_news  News を一覧表示する時の数。 デフォルト値は 50。

[使用する環境変数]

NNTPSERVER  news: URL スキームの時の News サーバ(NNTP サーバ)。
NNTPMODE  News サーバのモード。

plain text ファイルの行の折り返し

[概要]

plain text ファイルの行を、画面の幅に収まるように 折り返すオプションが追加されました。

以下の様に keymap を設定することで、行の折り返しの切替えが可能です。

  keymap  "x f"  COMMAND  "SET_OPTION fold_line=toggle ; RESHAPE"

[追加された keymap 関数]

RESHAPE  再レンダリングします。

[追加された config オプション]

fold_line  plain text ファイルの行を折り返す。 デフォルトは NO。

リンクの一覧表示

[概要]

リンク先(アンカー、画像)の一覧が表示可能になりました。 link タグ、accesskey 属性にも対応しました。

[追加された keymap 関数]

LIST  リンクと画像の一覧を表示します。
デフォルトで `L' にバインドされています。
LIST_MENU  リンク先一覧のメニューを立ち上げ、リンク先の文書を読みこみます。
デフォルトで `ESC-l' にバインドされています。
MOVE_LIST_MENU
リンク先一覧のメニューを立ち上げ、カーソルを移動します。
デフォルトで `ESC-m' にバインドされています。
LINK_MENU  Link 要素一覧のメニューを立ち上げます。
ACCESSKEY  Accesskey メニューを立ち上げます。

文書読み込み時のフォーム設定

[概要]

設定ファイル(~/.w3m/pre_form)に記述することで、 特定のサイトの HTML 文書を読み込んだ時にフォームの初期値を 設定することが可能になりました。

[設定ファイルの形式]

以下の形式に対応しています。
  url <url>|/<re-url>/
  form [<name>] <action>
  text <name> <value>
  file <name> <value>
  passwd <name> <value>
  checkbox <name> <value> [<checked>]
  radio <name> <value>
  select <name> <value>
  submit [<name> [<value>]]
  textarea <name>
  <value>
  /textarea

[追加された config オプション]

pre_form_file  文書読込時のフォーム設定用ファイル。デフォルトは ~/.w3m/pre_form

その他の機能追加

[追加された keymap 関数]

NEXT  次のバッファを表示します
PREV  前のバッファを表示します
SEARCH  <検索文字列>
SEARCH_BACK  <検索文字列>
SEARCH, SEARCH_BACK に引数を指定できる様になりました。

[追加された config オプション]

use_proxy  プロキシを使用する。 デフォルトは YES (http_proxy,ftp_proxy 等が指定されていれば)。
https_proxy  HTTPS プロキシ。デフォルトは HTTP プロキシと同じ。
preserve_timestamp
保存時にタイムスタンプを保持する。デフォルトは YES。
decode_url  URL の %XX をデコードして表示する。デフォルトは NO。
display_ins_del
DEL, S, STRIKE 要素の内容を表示する。デフォルトは YES。
image_map_list
イメージマップのリンク先一覧を表示する。デフォルトは YES。
graphic_char  テーブルやメニューの枠に graphic 文字を使う。デフォルトは YES。
(ただし、#undef KANJI_SYMBOLS の場合のみ有効。)
disable_secret_security_check
パスワードファイルのパーミッションをチェックしない。 デフォルトは NO。

[追加されたコマンドライン・オプション]

-show-option  config オプションを表示する。

HTML 解析部のセキュリティ強化

[概要]

w3m-0.3.2 以降、HTML 解析部の幾つかのバグにより w3m 内部でのみ有効なタグを外部から利用可能になっていました。 それらを修正しました。

ローカル CGI セキュリティ強化

[概要]

ローカル CGI を安全に呼び出すために、 ローカル CGI のインストール・パスが変更になりました。

また、以前は、ローカル CGI の安全性を確保するための local cookie を環境変数 LOCAL_COOKIE および QUERY_STRING で渡していましたが、ps 等で他のユーザが見る事が可能なため、 local cookie を書き込んだファイルを環境変数 LOCAL_COOKIE_FILE としてローカル CGI に渡す様に修正しました。