« 2011年03月 | メイン | 2011年05月 »

2011年04月 アーカイブ

2011年04月16日

Firefox4でブックマークツールバーを複数行で表示する方法

普段、Bookmarkletをブックマークツールバーに登録して使っている。
しかし、たくさん登録すると、ウィンドウ幅が足りない場合はメニューの「≫」配下に隠れてしまう。
これだと、Bookmarkletが使いにくくなるので、ブックマークツールバーを複数行表示させていた。
しかし、Firefox 4にバージョンを上げたら複数行で表示されなくなってしまった。
Firefox 4でも複数行表示するように修正したので、折角なのでその方法を書いておく。
Firefoxのウィンドウの見た目を操作するには、ユーザスタイルを修正しないといけないのだけど、ここではStylishというアドオンを使うことにする。
Stylishは、Greasemonkeyのユーザスタイル版と考えて貰って問題ないと思う。
キャプチャをとるために、新しいユーザでFirefoxを起動して気づいたんだけど、今のFirefoxってブックマークツールバーは標準で表示されないのね。
Macの場合、メニューバーから「表示」=>「ツールバー」=>「ブックマークツールバー」を選択するとブックマークツールバーが表示される。
まず、Stylishをインストールする。
メニューバーから「ツール」=>「アドオン」を選択すると、アドオンマネージャが表示される。
「アドオンを検索」と描かれているところに、「stylish」と入力しEnterを押すと、検索結果が表示される。
一覧から「Stylish」をの左にある「インストール」ボタンをクリックすると、Stylishのダウンロードが始まり、インストールするために再起動を促される。
Firefoxを再起動する。
もう一度、アドオンマネージャを開くと、左のメニューに「ユーザスタイル」が追加されているのが確認できる。
こちらは、userstyles.orgからダウンロードしたユーザスタイルや、作成済のユーザスタイルを管理するメニューなので、今回は使わない。
左のメニューから「拡張機能」を選択すると、インストール済の機能拡張が一覧表示される。
一覧の中からStylishを探し、Stylishの「設定」ボタンをクリックすると、Stylishの設定ダイアログが開く。
「新しいスタイルを書く」をクリックすると、ユーザスタイルを入力するためのダイアログが開く。
「名前」欄にはわかりやすい名前、例えば「Multiline Bookmark Toolbar for Firefox 4」と入力する。
テキストエリアに、以下のユーザスタイルを貼付ける。
@namespace xul url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
#PlacesToolbar>xul|hbox>xul|hbox,
#PlacesToolbar>xul|hbox>#PlacesChevron{
    display:none;
}
#PlacesToolbar>xul|hbox,
#PlacesToolbar>xul|hbox>#PlacesToolbarItems,
#PlacesToolbar>xul|hbox>#PlacesToolbarItems>xul|box{
    Display:block;
    max-height:12.5em;
}
あまりたくさんのブックマークが表示されると、コンテンツを表示するスペースがなくなって大変なことになるので、「max-height」を指定している。
モニタサイズが大きければ、ここの値を大きめに書き換えても良いと思う。
ちなみに、Firefox3.6まで使っていたユーザスタイルは以下の通り。
@namespace xul url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
#bookmarksBarContent>xul|hbox>xul|hbox,
#bookmarksBarContent>xul|hbox>.chevron{
    display:none;
}
#bookmarksBarContent>xul|hbox,
#bookmarksBarContent>xul|hbox>.bookmarks-toolbar-items,
#bookmarksBarContent>xul|hbox>.bookmarks-toolbar-items>.scrollbox-innerbox{
    display:block;
    max-height:12.5em;
}
最後に「保存」ボタンをクリック。
これで完了。
ブックマークツールバーをみると、ブックマークが複数行表示になっているのが確認できる。

キーボードの操作で、ブックマークレットを実行する方法

キーボードの操作で、ブックマークレットを実行する方法

Firefox限定。

KeySnailを使っていると、ホームポジションから手を離したくなくなるが、ブックマークレットを実行したい時には、そのままではマウスを使った方が速かったりする。
そこで、キーボードだけでブックマークレットを実行する方法を紹介。
ブックマークに設定できるキーワードを使うだけ。
多分、FiremacsやVimperatorでもできるはず。

ここでは、KonamiCommanderを例にする。
設定
まず、「履歴とブックマークの管理」を開く。
Macの場合、メニューバーから「ブックマーク」=>「すべてのブックマークを表示」を選択すると表示される。
そこから、キーボードから実行したいブックマークレットを選択すると、画面の下にブックマークレットの詳細が表示される。
「キーワード」欄が表示されていない場合、一番下の「▼」をクリックする。
ここでは、「キーワード」に「konami」と入力する。
保存ボタンはないので、このまま「履歴とブックマークの管理」を閉じる。
これで、準備完了。
実行方法
ブックマークレット実行したいページを開く。
ここでは、「KONAMI COMMAND DEMO」のページを開く。
Command+Lで、ロケーションバーにフォーカスが移動するので、「konami」と入力しEnter(keysnailの場合は、Control+Mでも可能)を押すと、ブックマークレットが実行される。
Emacs風に書くと「M+l konami C-m」となる。

これで、ホームポジションから手を離さずにすむ。

2011年04月18日

iOSとFirefox向け加速度計

iOSやFirefoxで取得できる加速度センサの値を、SVGでグラフ化して表示できるようにした。
Chromeでも加速度は取れるんだけど、何故か2軸(しかもジャイロスコープの模様)しか取れないので断念。
iOSの加速度センサとジャイロスコープを表示するだけ。
iOSの加速度センサの値をSVGでグラフ化。
Firefoxの加速度センサの値をSVGでグラフ化。
実際のページは以下のURLから。
ソースはGitHubで公開している。

2011年04月19日

"森".replace("木",???);//???に何入れる?

某チャットで話題になったのでまとめ。
※カッコは重複。

■漢数字
㐂𠦄𤾩

■カタカナ
劦叒厽品

■大きさ
𡘙尛

■曜日(月がない。おしい!)
焱淼鑫森垚晶

■人体の部位
掱聶惢舙毳瞐

■群衆
众姦孨壵

■生物
猋蟲贔赑犇羴驫鱻麤龘㽓

■気象・地形
磊䨺靐飍畾厵灥(晶)

■その他
刕䆐䖃嚞馫皛矗芔譶轟雥飝骉𣁾𠓗𠓾矗

■よっつシリーズ
燚㵘𨰻𣊭㗊茻㠭䨻䲜𠈌

■その他気になった文字
亖畕氛𠓺㔺尜壘
2011/04/20 追記
「矗」を追加。
2011/04/20 追記2
「飍」「刕」追加。
2011/04/20 追記3
7割ぐらいはnankiさん調べ。
これでほぼ全部網羅しているらしい。
調査方法はnankiさんがblogにまとめるとかまとめないとか。
2011/04/20 追記4
「叒」追加。
2011/04/20 追記5
nankiさんが調査方法をblogにupしました。

2011年04月23日

Android向け加速度計

ちょっと前にSVGを使った加速度計を作ったのだけど、同じようなものをAndroidでも作ってみた。
まだ、Androidに慣れていないので、上手くいっていないところがちらほら...。
本当は問題を片付けてから公開するつもりだったんだけど、もう1週間近くハマってしまっているので諦めた。
問題は2点。

1点目は、ActivityのResumeがうまくいっていないこと。
画面回転時のデータのシリアライズは上手くいっているようだけど、他のアプリケーションに切り換えたりホームを表示した後に、このアプリケーションを表示するとうまく描画されないことがある。

次に、画面キャプチャだとわかりにくいけど、メニューバーとタイトルバーを表示させていると、中央に表示されない。
幅と高さを取得し、グラフ描画を行っているけど、どうも描画可能な領域じゃなくて画面のサイズを取ってしまっているようだ。

Androidの神様助けて!

以下、ソース。
2011/05/01 追記
一部の不具合を修正した最新のコードをGitHubで公開。

2011年04月30日

全てのテキストボックスを音声入力に対応させるブックマークレット

音声入力APIに対応したGoogle Chrome 11の正式版がでたので、全てのテキストボックスで音声入力できるようにするブックマークレットを作ってみた。
ブックマークレットを実行後、テキストボックスに表示されるマイクアイコンをクリックすると、音声入力できるようになる。
音声データの解析は、ブラウザ側ではなくGoogleのサーバで行なっているため、オフラインでは使えない。
後、どうもテキストエリアでは音声入力はできないらしい。
/*
================================================================================
    Name        :   全てのテキストボックスを音声入力に対応させるBookmarklet Ver1.0.0
    In          :   [none]      
    Out         :   [none]      
    Note        :   全てのテキストボックスを音声入力に対応させます。
--------------------------------------------------------------------------------
    Version     :   Ver1.0.0    |   2011/04/30  |   新規作成
--------------------------------------------------------------------------------
    License     :   MIT license
    URL         :   www.kanasansoft.com
================================================================================
*/

(function(){
    var elements=[];
    var inputs=document.getElementsByTagName("input");
    for(var i=0,l=inputs.length;i<l;i++){
        var input=inputs[i];
        if(!input.hasAttribute("type")||input.getAttribute("type")==="text"){
            elements.push(input);
        }
    }
    elements=elements.concat(Array.prototype.slice.apply(document.getElementsByTagName("textarea")));
    for(var i=0,l=elements.length;i<l;i++){
        elements[i].setAttribute("x-webkit-speech","x-webkit-speech");
        elements[i].setAttribute("speech","speech");
    }
})()
Google

タグ クラウド