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

タブのシャフリング



Let me introduce to Japanese folks the new features concerning tabs.

タブの操作に関する新機能を紹介します。CVS 幹に入っています。

すでに白井さんのおかげで、emacs-w3m の画面のてっぺんにタブがいく
つか並んでいるときに、マウス・ホイールを回してタブを切り替えるこ
とができるようになっていました。

今回は新たに Leo さんの提案に基づいて、Control キーを押しながら
マウス・ホイールを回すと、タブの位置を入れ替えることができるよう
になりました。なお、同じ機能が次の各キーにもバインドされています。

C-c C-, または C-c C-<
  左に移動
C-c C-. または C-c C->
  右に移動

(それぞれ二つのキーを用意したのは、意味的には良い < と > が、た
いてい Shift を押さなければならないからです。)

おまけとして、マウス・ポインターが選択されたタブの場所に移動する
ようにしたのですが、これがなかなかの曲者です。タブには 1/4角スペー
ス (半角の 1/2) や favicon があるだけでなく、わずかながら未知の
要素が幅を占めているので、マウス・ポインターを置くべき位置を正確
に求めることが困難です。タブに使うフォントによって、またはシステ
ムによっても微妙に変化するでしょう。

残念ながら、今のところプロポーショナルなフォントを使う場合には、
まともに動きません。そういう場合のために用意されている手段は、
`w3m-tab-track-mouse' という変数を nil に設定することだけです。

では、固定幅のフォントを使っている人は問題無いのかと言うと、これ
はみなさんが個々に試して下さるしかないのです。マウス・ポインター
が正しい場所に移動しない場合のために、調整用の変数を用意しました。
デフォルト値はぼくの環境 (16-dot 固定幅フォント) に合わせて決め
た'(0.5 . -4) です。もし必要だったらいじってみて下さい。以下は
doc string の全訳です。

,----
| w3m-tab-mouse-position-adjuster は `w3m-ems.elc' で定義されて
| いる変数で、値は '(0.5 . -4) です。
|
| 説明:
| タブ上のマウスの位置を調整するための (二つの) 値です。
| これはコマンド `w3m-tab-previous-buffer', `w3m-tab-next-buffer',
| `w3m-tab-move-right', または `w3m-tab-move-left' が起動された
| ときに使われます。値は浮動少数 M と整数 N のコンス・セルで、マ
| ウスの位置 (ピクセル数で与えられます) の計算に以下のように適用
| されます。
|
|   (TAB_WIDTH + M) * ORDER + N
|
| ここで TAB_WIDTH は一つのタブのピクセル幅、ORDER は何番目のタ
| ブかを表します。結果の少数以下は切り捨てられます。
|
| もしタブのフェースにプロポーショナルなフォントを使っていると、
| この計算は常に失敗するでしょう。`w3m-tab-track-mouse' も参照し
| て下さい。
`----

;; ケンブリッジ大学セント・エドモンド校のレオさんとエーゴでやり
;; とりしているだけでは、たぶんみんな読み飛ばしているんだろなー、
;; と思ったので、あえてこれを書きました。ぼくだって、今でも読み
;; 飛ばしが多いですから。;-p
-- 
山岡