タブバーとステータスバーを統合するStylish

タブバーとステータスバーを統合するStylishのスタイルです。
Tabbar" = "Statusbar" | userstyles.org

これは新しい。Stylishなので導入が簡単なのも◎

難点は

タブが下部に表示されることになることかな。ステータスバーの位置に表示されるみたいなので。
userChromeJSとかでステータスバーを上部に表示することができればいいのかもしれません。
あとそれ以上に、タブバーの横幅は広ければ広いほどいいだろうから、これは実際には使う価値がないかも。

さらにいえば

僕はタブバー使って以内(ツリー型タブを使っている)ので自分では使っていません。
かわりにロケーションバーとステータスバーを統合しているのでこっちをおすすめ。
ステータスバーを非表示にするよりはるかに良い方法 - blooo

予告

面白いStylishスタイルをいくつか見つけたので
今後何回かにわけて投稿する予定。

サイトのファビコン画像を0.1秒で保存するアドオン(とアドオンを使わない方法も)

サイトのファビコン画像を0.1秒で保存するアドオン。
getFavicon :: Add-ons for Firefox
ほんとに0.1秒。ワンクリックです。待たされません。
最初はめったに使わないだろと思ったけれど、考え直してみるとファビコンを扱うことって意外に多いかもしれない。
・・・というクリエイターな方たちには、便利だと思います。

使い方

インストール後、ステータスバーにあるアイコンを左クリックするだけ。

一言

アドオンとして入れるのは惜しい。userChromeJSでもできないかな…
そもそもFirefoxのデフォルト機能として、ロケーションバーのファビコンを右クリックから保存できたりしてもいいと思う。

追記:アドオンは使わずブックマークレット

やっぱりアドオンいらなかったomg
記事タイトルも変更。


以下のようなURL

http://www.google.com/s2/favicons?domain=example.com

に飛べば、"domain="で指定したサイトのファビコン画像を表示してくれる。
あとはCtrl+Sとかで保存しちゃえばOK。
例:Yahooのファビコンを表示
ソース

<a href="http://www.google.com/s2/favicons?domain=www.yahoo.co.jp">Yahooのファビコンを表示</a>
限界点

下位ディレクトリ非対応ということ。
d.hatena.ne.jpなら

<img src="http://www.google.com/s2/favicons?domain=d.hatena.ne.jp" />

結果:
となるけれど、

<img src="http://www.google.com/s2/favicons?domain=d.hatena.ne.jp/blooo" />

としても、
結果:
となってしまう。

簡単に実行できるブックマークレット書いた
javascript:location.href='http://www.google.com/s2/favicons?domain='+location.hostname;

上のコードをブックマークします。
Firefoxであれば
ブックマークツールバー上で右クリック→「新しいブックマーク」→URLの欄に上記コードを貼り付けて保存。
実行すると見ているページのファビコンを表示します。

待てよ

これってfaviconizeに応用できるのではないか。
faviconizeに限らずファビコンを読み込んで表示する何かを使っていると、
危険なサイトとか認証が必要なサイトでも、サイトにアクセスしてファビコンを取得しようとするため
Googleで検索した瞬間とかに突然、「アクセスしていいんですか」YES/NOダイアログがあらわれてびっくりすることがある。
これを回避できそう。

Google検索結果のクリップ系サイトから直接元記事へ飛ぶGreasemonkey

クリップ系サイトとはソーシャルブックマークサイトとも言う。(タイトル短くしたかったのでクリップ系サイトと呼んでみた)
はてなブックマークとかLivedoorクリップとかBuzzurlとか。
クリップ系サイトがGoogle検索結果に出てくるのって邪魔だと感じている人が多いと思う。(人によっては便利なのかもしれないけど)
これに対抗し、リンククリックで直接おおもとの記事へのジャンプを試みるGreasemonkeyスクリプト
YAjaro for Greasemonkey

どちらも同じページへ

そもそも

クリップ系サイトの何が問題なのか?
正しくは、クリップ系サイトがGoogle検索結果上位に出てくることの何が問題なのか?と言うべきか。ソーシャルブックマーク自体は便利に使っている人も多いと思うので。

第1の問題点

そもそも、よくあるパターンを分析してみると、
Googleの検索結果に出てきたリンクをクリックしたら(読み込みの重い)ブックマークページに飛ばされてうぜーとなる」
というパターン。


さらに歯がゆいのは、
「記事タイトル記事タイトル記事タイトル - ブログ名」
これがが元の記事だとすると、ソーシャルブックマークサイトでは
「記事タイトル記事タイトル記事タイトル - ブログ名 - ブックマークサイト名
みたいなページタイトルにしてやがるサイトも多いから
Google検索結果上では後ろが省略されて、
「記事タイトル記事タイトル記事タイトル - ブログ名...」
とかになってもとのサイトと区別できなくなることが多い。
(この点、はてなとかは先頭に「はてなブックマーク - 」とかくっつけているのでまだ良心の呵責があるか?)


(これGoogleの方が対応してもいいと思うんだよね。こんな風に真ん中を省略してくれればいいんだよ。
「記事タイトル記事タイトル記... - ブックマークサイト名」
Googleならそんなに難しくないと思うんだけどな)

第2の問題点

とここまで書いたが、実は上記の「第1の問題点」はfaviconize(参考:あらゆる所にFaviconを付けられる可能性を秘めたGreasemonkey - blooo)を入れているので解決されている。
はてなならはてなのファビコン、BuzzurlならBuzzurlのファビコンが表示されるので区別できる。)
しかし、仮にファビコンで「これはクリップ系サイトのページだ」と判断できても肝心の元記事のページがGoogleの上位に表示されていなかったら結局クリップ系サイトを経由して飛ぶしかない

こうしたい

「記事タイトル記事タイトル記事タイトル - ブログ名...」
を何気なくクリックしても、オリジナルの記事に飛んでほしい。それが直観にも近い。

そこで

snakaさんがjaroというスクリプトを作っていらっしゃったんですが、
これを改造させて頂きました。

動作

Google検索結果上でクリップ系サイトのリンクを何気なくクリックしても
オリジナルの記事を判断し、そこに直接飛ぶ。

どちらも同じページへ

といってもよく失敗します。(ぉーぃ
自分でしばらく使っていたんですが、判定に失敗してクリップ系サイトのページに飛ばされることは少なくなかったです。
その場合は素直に経由して行ってください。別に導入前と手間は一緒ということで、お許し下さい。

改訂追記

efclさんに書いて頂いた改良版飛躍的に精度が向上します。僕がこれまで実験した経験上、ほぼ無敵なはずです。(説明は省く後述)
インストールはこちらから。gist: 216105 - GitHub
これは本気で便利になるかも。本気でwedata対応を考えてみようかな。

インストール

YAjaro for Greasemonkey
改良版をおすすめgist: 216105 - GitHub

お試し

お試しの検索結果ページはこちらでどうでしょうか。
google:greasemonkey jaro
少し薄くなっているリンクがクリップ系サイトのリンクです。さて結果はいかに。

その他

  1. クリップ系サイト自体に行きたいという奇特な人がいないとも限らないので、はてなLivedoorのページ(もとのリンクそのもののページ)に飛ぶリンクもつけました。クリップの画像をクリックして下さい。
  2. 半透明にする範囲を変えられます。スクリプトの一番上のvar opacity = 1;を変更して下さい。

Wedata

オリジナルのスクリプトjaroはWedataに対応しているのですが、このスクリプトは対応していません。
いずれ対応したいけど、・・・よくわかりませんので誰かy
あと、スクリプト内でSITEINFOを追加することはできますが、はっきりいってめんどくさいです。(SITEINFOを見ればわかるように「タイトル中の不要文字部分」の設定が判定に必要なんですが、ここスマートじゃない…誰かもっとスマートなやり方をかんg)
やっぱりこのスクリプトのしかけには限界があるか。

最後に

作ったはいいけど…精度が思ったより良くなくて逆にいらいらするかもしれません。素直に非表示にする方がよかったかな。→本体じゃなくてefclさんの改良版を使ってください。

発想は好きだったんだけどなぁ。しかけを見てぴんときた方、改造や応用は大歓迎です。

参考サイト

Google検索の上位に表示されているページが元ページへのリンクを貼っただけのサイトでイラッとしたのでグリモン書いた - 今日もスミマセン。
オリジナルです。

他人の記事のタイトルを使ってスパムリンクを大量に貼ってるウザいページ - by edvakf in hatena
畳んであって便利。下に行けばいつか出てくるんだし、AutoPagerize入れてればそれも大変じゃないし、こういうやり方がスマートだったんじゃないかと思う。

追記:しかけについて

【以下長文につき注意】
しかけについては汚いコードを見てのお楽しみということにしていたつもりだったのですが、自分が数ヶ月前までjavascriptをほとんど書いたこともなかったことを思い出し、そんな面倒なことしなくてもここで説明を読めれば、誰かの役に立つかもしれないと思い書いておこうと思う。


一言で言えば、efclさんもご指摘の通り、「おおもとのサイトの判定」にはGoogleI'm feeling Luckyを使っています。I'm feeling Luckyとは、一番それっぽいサイトを判断し検索結果画面を経ずに飛んでくれる機能のこと。
Google ヘルプ: 検索機能
と言うとさすがGoogle!自動判定なんてどんなアルゴリズム使ってんだ、みたくすごいように聞こえるが、なんのことはない。
検索結果の一番目のサイトに飛んでくれるだけの機能。
(もちろんその一番目を出すアルゴリズムがすごいんだろうけど)


で、やってみたい人は、いつものGoogle検索結果画面のURLの最後に

&btnI=I%27m+Feeling+Lucky

を付けてEnter押せばOK。見事検索結果一番上のサイトに直接に飛んでくれるはず。


そして、「このI'm feeling Luckyを使えばクリップ系サイトに対抗できるんじゃないか?」という思いつきはオリジナルのjaroスクリプトを見て以来ずっとあたためていたもので、最近グリモンスクリプトを書くのになれてきたため作ったというわけになります。


クリップ系サイトのリンクに当たったとき、
「リンクの大元記事のタイトル部分をコピーして再検索する」
という作業をすることもあったのではないでしょうか?
この「再検索」の代わりにI'm feeling Luckyを用い、

  1. リンクの大元記事のタイトル部分を取得し、
  2. それを検索語句にしてI'm feeling Lucky

という手順が主要なしかけということになります。


つまり、このスクリプト
「リンクの大元記事のタイトル部分をコピーして再検索した検索結果の一番上のサイトをクリックする」
のとおんなじことをする、ということになるわけです。


だから、問題点は自ずからわかると思います。
元記事のタイトル名で検索した場合はさすがに元記事が一番上に来ることが多いのですが
やはりクリップ系サイト、とくにはてなブックマークは強く、元記事を差し置いて検索結果のトップにくることもたまにあります
そうすると「判定に失敗」し、はてなブックマークに飛ばされることになるわけです。
だから、Livedoorクリップのリンクをクリックしたらはてなブックマークに飛ばされた、なんてことさえ起こります。実際起こります。
精度をあげるためにintitle:オプション(inposttitle:でも同じだと思うけど)を付けたり、クウォテーション付けてみたら失敗したりと、あまり改善しない。


そこに登場したのがefclさんの改良版。
はてなブックマークをはじめ、クリップ系サイトを根こそぎ検索結果から-site:オプションで除外するという発想です。
「大元記事のタイトル名で検索した結果」にはてなブックマークが出ないとなると、大元記事がトップにくる可能性はかなり高まる。
ですよね!?


【それまでの検索結果トップ3.うまくいったとき】

  1. 大元サイト
  2. はてなブックマーク
  3. Livedoorクリップ

【それまでの検索結果トップ3.うまくいかなかったとき】

  1. はてなブックマーク
  2. Livedoorクリップ
  3. 大元サイト

↓↓↓【はてなLivedoorなどクリップ系サイトを検索結果から除外するある種のフィルタ】↓↓↓

【efclさん改良版の検索結果トップ3】

  1. 大元サイト
  2. その他のSITEINFOにも登録されていない弱小クリップ系サイト
  3. その他のSITEINFOにも登録されていない弱小クリップ系サイト

となるわけです。(弱小とか…言葉が過ぎてすみませんorz)


「ほぼ無敵」とか思うのはこういう理由です。

しかし問題点は残る

残された主要な問題点は、「タイトルの不要文字列」判定、のところです。
「タイトルの不要文字列」とは、
はてなブックマーク - 記事タイトル
における、「はてなブックマーク - 」のことです。


この「はてなブックマーク - 」を含めてintitle:で検索しちゃったら確実にはてなブックマークのサイトが一番上に来てしまう。
だから「タイトルの不要文字列」を除いて、純粋な「記事タイトル」を取得してI'm feeling Luckyせねばならんわけです。


で、この「タイトルの不要文字列」の判定の仕方がスマートじゃないと思うんです。
要するに、
前に付く「なんとかブックマーク - 記事タイトル」型はいいんですが、
後に付く「記事タイトル - なんとかブックマーク」型に問題があります。
というのも、「記事タイトル - なんとかブック...」と省略されるので、取得が難しいんです。


Livedoorクリップの使い方 - hogeブログ - Livedoorクリッ...」とかになると…もうわけわかr
ここさえもう少しスマートにできたら完璧だと思います。

でも、はてなは前型なので取得は100%できる。つまり少なくともとりあえず
はてなブックマークのリンクだけは安心してクリックできると思っていいんじゃないでしょうか。

Gmailで「スター付き(15)」な感じでスター付きに数をつけたい

こういうこと。

Before After
スター付き☆ スター付き(15)

意味のない☆とかつけるよりこっちの方が理にかなっている。と思う。


Greasemonkeyでやるのは不可能そうだったのでGmail Labsにお願いしてみた。
もし「いいかも」と思う方がいらっしゃったら、こちらに投稿したので
コメントをのばして頂ければLabsの人たちにも注目してもらえるかもしれません。
Starred Count like this: Starred(15) - Suggest a Labs feature | Google グループ

追記

毎日膨大な量のコメントが来るのであっという間に消えていってしまったようです。
たぶんどのコメントもあまり見られてないんじゃないかな。

リファラの書き換え決定版〜userChromeJSでRefControl

特定のリファラを制限するサイトに対してはRefControlアドオンが必須になってくるわけですが、userChromeJSでも同様の機能は使えます。

リファラーを柔軟に書き換る(偽装する)ためのuserChrome.js用スクリプトを作ってみた。 - iMona@zuzu開発者日記〜主に日々の行動記録〜
便利に使わせて頂いています。うまく機能しているようです。

感想

サイトデータをwedataとかで管理できたら便利そう。

SnarlとGrowl for Windowsを使ってみたが挫折

Growl for WindowsSnarlGmail向けの拡張機能が使えない。

Growl for Windows...パスワードを認識しないか、接続できないとエラーを吐く。
Snarl...メールは取得できるが、微妙に日本語が文字化けする。

というわけでどっちも却下。残念。

Google検索の使われていない「検索ツール」を便利にするGreasemonkey

いつからかGoogle検索にひっそりと「検索ツールを表示」というリンクがありますよね。
これ
クリックするとにょろっと左サイドバーが出現。でもあまり使っていないという人も多いのでは。
僕は「ワンダーホイール」を試した瞬間から二度と使わなくなりました。


でも使ってみると意外に便利な機能もある。
せっかくなのでこれを改造してみたGreasemonkeyスクリプトです。

下の方にある各種リンクが今回の付属品です。本来はページ上部にあるものを移動しました。以前書いた「Google充実バー」の改良統合版ということになります。

推奨合わせ技


使われているのは

  1. このもっと「検索ツール」
  2. Google検索サイドバー
  3. ページの年齢をカラフルに
  4. あとfaviconize

※全然重くないですよ!

気に入ったら

Firefoxツールバー上の検索ボックスから検索すると「検索ツール」が閉じた状態でしか検索できません
つまり検索するたびにいちいち「検索ツールを表示」をクリックしなきゃいけない。これはめんどくさい。
そこで気に入ってもらえたら、常にこれを開いた状態で使えるようにしましょう。
検索エンジン管理に、カスタムGoogleを追加します。
(原理:Google検索クエリに"&tbo=1"オプションをつけてやれば「検索ツール」は開いた状態で検索できるようです。)

やり方

1.まず「検索バーの管理」(ツールバー上検索ボックスのアイコンを左クリック)を開き、
2.Googleを削除。
3.Firefoxを閉じる。
4.プロファイルフォルダ内の"searchplugins"というフォルダを開く。(無ければ作る?)
5.その中に.txtファイルを作り、以下を貼り付け。

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
<os:ShortName>Google </os:ShortName>
<os:InputEncoding>UTF-8</os:InputEncoding>
<os:Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADRUlEQVQ4jSXT60/VdQDH8c/vd7AlI4EHtjW0WCs1i7U2i8u54GWxYDVtpkabumX5JLs86oLYEgRDQjAIBbsYayTmCjDQMwsrtcgxUBdWkNyyJDkCB9jRw+/8vu8e8OD9D7y2tyTJiUFX/wipWxuJe/pzSo9fwiVGNDzB2ewsei0xa9u4Eq5sIpYYl5AkxRwwwLriU2hTEHtbFwte/I6//p0CEyPyWy/XE+JxJYzlwbVExBIhxTFkCwE4jsMDO9rRtk60vQfl/0jxN5fBgInBUE4OUVnEPCJqWUzKw5glBiVkXCAG3sIO7M0/Y2/vxH7hHJv2dwMOAFfXr2NGcWAJVx6mLfGPRJ/tQeACLkVNl9H6IHEvXcB+/nvyqzpxMXAbfnloGT/dcwctS5JpT02mK2kew7botYT6h29igNFwhGU72tBzp1mwOUiw5xoGqGs5zOI3UtFH6Xhq/ajay/yyJ8h6OY19DyeipVs+43jHFXANE1NRjpwZoG/kJi6GklN1qOgRPPVePIeyUG06qs3EOpCFqrOx9q5GCzceJWntx6x+vZE9DR1zajic6fsV+6370OHHUV06qk/HqvFh1fhQZQZWuR9rbwAtzW9g0YYvuDPvU5KfOsTgaBhjDMOhayypfxbVpGEfzMQ+6EU1GdgferEq/djlflSWge7P3U/Glk/Y+G4rr1X9QE/fOC4Gg8vY1Bg5R1/BqkhDtT5U7Z2r0o/2+dEeP2o8fZGxcRcDzE72Mnq1mYGeWm5N3wBgNuaQ2/gqVsVyVJ2BqrzY5ZnofR8q8SFcmP7vIt3NGQw2x/N3mxj52uZK03LCoT/BxPh9dIi7SrNRVSaeD3zYZX5UEkC7A+i2M0NXYzoT3wpz3sY5G0+kYz43jon+5jyMMZgYPHhgAypbgSq8qNTPvN1rsHYF0FRogD8aUrgVTCIcTGCqLZHJ1kRmTqRw/atHITpNxDEsLslDpZnYJatQqQ/7vZVopx85McPgya2EvkxgsuVuwq0LmTmRQvjYvYyfK8QATRdO4nnzMaxiL56ibLQrgAoC6J01c0c6MyHGzhcy0b6WcMuTTLQ/Q6S7mqgT4dLwAIvezkUFK7ALs1HhSrTThwpWIUn/A1g/hnpCRmiJAAAAAElFTkSuQmCC</os:Image>
<UpdateInterval>1</UpdateInterval>
<SearchForm>http://www.google.com/ig</SearchForm>
<os:Url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?output=firefox&amp;client=firefox&amp;hl=ja&amp;qu={searchTerms}"></os:Url>
<os:Url type="text/html" method="GET" template="http://www.google.com/search">
  <os:Param name="complete" value="1"/>
  <os:Param name="hl" value="ja"/>
  <os:Param name="ie" value="utf-8"/>
  <os:Param name="q" value="{searchTerms}"/>
  <os:Param name="tbo" value="1"/>
</os:Url>
</SearchPlugin>

5.今の.txtファイルを"google-ja.xml"という名前("google.xml"にするとうまくいかない場合があるみたい)に変更。
6.Firefoxを起動。
あとは検索エンジンからGoogleを選択して検索すればできてるはず。
(ちなみにGoogleサジェストにも対応しておきました)

一言

英語版を見ると日本版よりもっと色々な機能がついているようです。
将来的に便利になる可能性があるので今のうちに慣れておくのはいかがですか。