アナログ
RSS  

あとで読むは右に、さきに読むは左に2009/09/23 05:32

リンクをタブの左隣に開く
Firefox 3以降、FireGesturesのネタです。(今まではタイトルにFirefox 3とか対象をつけてましたけど今後やめる方向で)

読んでいるタブ(アクティブタブ)に気になるリンクがあった場合、さきに読みたいとか、あとで読みたいとかあると思います。
さきに読むリンクはそのままクリックしていまえばいいのですが、あとで読みたいリンクというのは扱いに困ることはないでしょうか?

私はあとで読むリンクは右にバックグラウンドで開き、さきに読みたいリンクは左にアクティブタブで開くというやり方をしています。
例えばこんなかんじ
べつに~を開いた

「よく見るページ~」が気になったのであとで読む
よく見るページ~をバックグラウンドで開いた

「起動したまま~」をさきに読む
起動したまま~を開いてアクティブに

「places.sqlite~」が気になったのであとで読む
places.sqlite~をバックグラウンドで開いた

「起動したまま~」を読み終えたのでタブを閉じる
起動したまま~を閉じた

「places~」を読み終えたのでタブを閉じる
places~のタブを閉じた

「べつに~」を読み終えたのでタブを閉じる
べつに~を閉じた

といったぐあいに右にバックグラウンドで開くことで後回しにできるというわけです。
(こうしないと何をあとで読もうと思ったのか忘れてしまうほどボケてきたともいう)

その設定方法ですが、右にバックグラウンドで開く方法は2通りあって、Firefoxの設定をバックグラウンドでURLを開くようにしてマウスの中ボタンで新しいタブに開くのと
FireGesturesで「リンクを新しいタブで開く(背面のタブ)」にジェスチャーを割り当てる方法があります。
リンクを新しいタブで開く (現在のタブの隣へ)
常にアクティブタブの右隣に開く場合は、次で説明している「リンクを新しいタブで開く (現在のタブの隣へ)」を使います。
変更箇所は最後の2行
if (!IN_BACKGROUND)
  gBrowser.selectedTab = tab;
を消すだけ。
3.7a1preだとデフォルトが右隣になってます。


次に左にアクティブタブで開く方法ですが
FIREGESTURES :: Get Scripts
「リンクを新しいタブで開く (現在のタブの隣へ)」をちょっと変更して使います。
var linkURL = FireGestures.getLinkURL();
if (!linkURL)
  throw FireGestures.getLocaleString("ERROR_NOT_ON_LINK");
var doc = FireGestures.sourceNode.ownerDocument;
FireGestures.checkURL(linkURL, doc);
var charset = window.content.document.characterSet;
var referer = makeURI(doc.location.href);
var pos = gBrowser.mCurrentTab._tPos;
var tab = gBrowser.loadOneTab(linkURL, referer, charset, null, true, false);
gBrowser.moveTabTo(tab, pos);
//if (!IN_BACKGROUND)
  gBrowser.selectedTab = tab;

ポジションの加算(++)をやめて、常にアクティブタブになるようif文をコメントに(または削除)します。
リンクをタブの左隣に開く

左にアクティブタブで開くのは需要ないだろうなぁと思ってたのですけど、 Firefoxでリンクをバックグラウンドのタブで開く方法 | レディーファースト を見てたら需要ありそうな気がしたのでネタもないことだし書いてみました(笑)。