Firefoxからリンクをメールで送るとかそういうの滅多にしないよ

Firefox で画像を右クリックすると、「画像の URL をメールで送信」っていうメニュー項目が出てくる。
Firefoxの右クリックメニュー
けどこれ、滅多に使わない。
てゆーか、間違えてクリックしちゃったとき1に、いちいちメーラーが起動して鬱陶しい!邪魔!

ってことで、消しました。

いじったのは userChrome.css というファイルで以下にあります。

C:\Users\yuuAn\AppData\Roaming\Mozilla\Firefox\Profiles\********.default\chrome\

あるいは無いので、新規作成し、次のようなCSSを書きます。

  1. 「名前を付けて画像を保存」の直下にあるから間違ってクリックしやすい。

「タブバー上をホイールスクロールでタブ切り替え」が誤動作

Tab Mix Plus
Firefox の Tab Mix Plus というアドオンに「タブバー上をホイールスクロールでタブ切り替え」という機能があるのですが、Firefox のバージョンを 10 にしたら、ホイールを回したときに ふたつ 隣のタブに切り替わるようになっちゃいました。

どうやらこの機能をFirefoxが標準でサポートして、それとTab Mix Plusの機能が重なって起こる現象のようですね。
Tab Mix Plus側のこの機能をオフにしたら直りました。

Xperia acro HDさわってきた

docomo スマートフォンラウンジに行って、Xperia acro HDを触ってきました。

一番気になっていたブラウジングはかなりサクサクしていて、読み込んでるときには多少カクつくページもありましたが、一度読み込んでしまえば、画像やFlashなどが多い重たいページでもスムーズに見ることができました。
スクロールとか拡大縮小をしまくると、多少不自然な感じがしましたが、処理の遅さよりも、タッチセンサーの感度が原因な気がします。みなさんが今後のチューニングに期待と言ってる部分ですね。

タッチキーは見ながらタッチすれば押し間違えたりすることはありませんでした。反応も良かったです。
サイドの物理キーは少し強く押し込まないと反応しなくて、左手で電源ボタンを押すのがちょっと押しづらかったです。
本体は大きいんですけど、丸みを帯びているので持ちやすかったです。

カメラ起動は凄く早くて驚きました。普段使いがX10だと、早いと言われていてもなお早く感じます。
これってバーコードリーダーみたいなアプリでカメラ使うときも起動が早くなるのかな?

ワンセグ映像は、圧縮しまくった動画、あるいは昔のビデオテープに撮ったテレビ映像みたいに汚かったですけど、見れないほどではないかな。
あれでフルハイビジョンのテレビと同じ金額のNHK受信料を取られるっていうんだから、なんか変なの。
緊急時に見るといった感じかな。

最後にUserAgentを。

Mozilla/5.0 (
Linux; U; Android 2.3.7; ja-jp; SonyEricssonSO-03D Build/6.0.A.1.245) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0
Mobile Safari/533.1

Androidアプリをバージョンアップする方法のメモ

自作Androidアプリをバージョンアップさせるときの手順。
忘れそうだったので、メモしておきます。

プログラムに修正を加えて、動作確認ができたら、まずバージョン番号を上げます。
AndroidManifest.xml を開いたら [Manifest] タブを選択し、[version code] を +1 します。
この値はかならず正の整数。
[version name] は、任意の数上げます。
できたら保存してビルドします。

次に apkファイル を出力します。
Eclipse で [Java] パースペクティブを選び、[パッケージ・エクスプローラー] からプロジェクト(仮に my-android-project とする)を選び、右クリックする。
[Androidツール] → [Export Unsigned Application Package...] を選ぶ。
保存ダイアログが表示されるので、保存場所とファイル名を指定して(仮に C:\Users\yuuAn\Desktop\my-android-project.apk とする)、保存する。

次に署名を行います。
keystore は C:\Users\yuuAn\.android\my-release-key.keystore にあるとします。

C:\Users\yuuAn\Desktop> jarsigner -verbose -keystore "C:\Users\yuuAn\.android\my-release-key.keystore" "C:\Users\yuuAn\Desktop\my-android-project.apk" my-release-key

青字の部分は適宜変更。
キーストアのパスワードと鍵のパスワードを入力すれば、署名完了。

次に Zipalign を適用します。

C:\Users\yuuAn\Desktop> zipalign -v 4 "C:\Users\yuuAn\Desktop\my-android-project.apk" my-android-project-release.apk

最後に my-android-project-release.apk を公開します。
Android デベロッパー コンソールから、先ほど作成した my-android-project-release.apk をアップロードします。

[商品の詳細] タブの [掲載情報] にある [Recent Changes] に、更新情報を書きます。
保存します。

しばらくすると、新しいファイルが反映され、マーケットからアップデートできるようになります。

Androidで共有したときのアプリ名を任意のものにする

Androidで共有(暗黙的インテント)できるアプリ一覧に、自分のアプリを追加するためには、AndroidManifest.xml に、

<intent-filter android:label="@string/intent_name">
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="text/plain" />
</intent-filter>

このようなインテントフィルターを追加しますが、この時に赤字の部分でラベルを指定すると、アプリ一覧に表示されるアプリ名を、ドロワーに表示されるアプリ名とは別のものにできます。

久しぶりにAndroidアプリ開発しようと思ったら動かない件

以前作った mixi Checking! for Android というAndroidアプリをアップデートしようと思って、久しぶりにEclipseを起動したのですが、実行してもエラーが出てしまいました。

Your project contains error(s), please fix them before running application.

何がエラーなのか分からなくて、さんざん悩んだんですが、「問題」というタブを見たら、次のようなエラーが出ていました。

Error generating final archive: Debug certificate expired on 12/01/19 23:50!

ググってみると、どうやらこれは debug.keystore の有効期限が切れているのが原因のようでした。

NP_TrackBackでトラックバックされた数にローカルのものも含む

Nucleusのプラグイン NP_TrackBack で、トラックバックされた数を表示するには、

<%TrackBack(count)%>

と書きますが、これだと外部からのトラックバックのみがカウントされ、ローカルのトラックバックがカウントされません。

そこで、両方がカウントされるように、NP_TrackBack を修正しました。

ソースコードは GitHub にアップロードしました。

GitHubを使うのは初めてなので、使い方が間違ってるかもしれません。
初めに、元にした v.2.0.3 jp13 をコミットしてから、修正をコミットすれば良かったと、後で思いましたが、取り消し方が分からないのでそのままです。

PuTTYのウィンドウを半透明にする方法

SSHクライアントのPuTTYですが、MacやLinuxの人がやってるみたいに、ウィンドウを半透明にして表示すると、ブラウザで参考になるサイトを見ながらプログラミングできたり、あるいは動画を見ながら作業をしたりなんかもできて、いろいろ捗りますよね。

それで、何年か前からPuTTY 0.59 ごった煮版に背景半透明化機能を付けた次のバージョンを使っていました。

ところが最近になって、Vimでマウスが使えることを知り、PuTTYを通してマウス操作をしようと思うと、PuTTY 0.59ではうまく動かないということが分かりました。
例えば、マウスホイールでスクロールすることができません。

いろいろ試した結果、この問題は、PuTTYのバージョンを上げれば解決することが分かりました。
そこで、ごった煮のパッチが当たったPuTTYで、背景を半透明にできるものが無いかと探していたら、次のバージョンを見つけました。

こちらはPuTTY 0.60を元にして描画処理をかなりいじったもののようですが、問題がひとつ。ちょっと重いのです。
あと、Aeroの機能で透過すると、ぼやけてしまって後ろの文字が見えません。雰囲気はいいんですけどね。

ということで、自分でPuTTYのソースを読んで改良するか?とも思ったのですが、それは難しそう。
そこで思いついたのが、Windows2000からOS標準の機能としてウィンドウを半透明にする機能が付いていて、それを利用して任意のウィンドウを透過表示にするアプリケーションが、結構昔からちらほら見かけるぞということでした。

透過処理を当てるPuTTYにはこれを選びました。

通常のごった煮版です。Vimでのマウス処理も、特別な設定をすること無く使えました。
これが半透明で使えたら問題なしですね。

マイミクから誰が外れたのかを知りたい

「そうしてあなたは去っていくのね」というmixiアプリがありました。
このアプリは、マイミクに誰がいるかを記録してくれて、次にこのアプリを開いたときにいなくなってる人が誰なのかを知らせてくれるアプリでした。
とても便利だったのですが、サービス終了してしまって残念に思っていました。

そこで、そしあなっぽいアプリを自分で作ってみました。

マイミクの取得には、mixi Graph API を使っています。
ただ、mixi Graph API には欠点があって、mixi の中の「外部サービスのプライバシー設定」で「外部サービスとの連携を許可する」のチェックを外しているユーザーの情報が取得できないんです。
なので、許可しない設定にしてるマイミクはカウントされませんし、途中で許可しない設定にされると、マイミクから外れたのか許可を止めたのかわかりません。

この欠点を補うには、誰かのIDとパスワードを使って mixi の HTML を取得して、それを解析するしかなさそうなのですが、あまりスマートなやり方ではないので、どうしようかなあ。

というわけで、まだα版といった段階ですが、一応公開しておきます。

Swapperでブラウザのリロードを防ぐ

Xperia SO-01BにThGo2を入れて使っていると、ブラウザアプリがバックグラウンドから戻ってきたときにページがリロードしてしまいます。

例えば、ブラウザで mixi を開いて、ホームボタンを押します。次に、ホームボタン長押しなどからブラウザに戻ると、もとの mixi が表示されるのですが、再びホームボタンを押し、今度は GREE や Facebook などの重たいアプリを起動してみて下さい。そうしてまた、ホームボタン長押しなどでブラウザに戻ると、先ほど開いていた mixi が再読み込みされてしまいます。
3G回線で読み込みに時間がかかる場合や、地下鉄でなかなか電波を確保できない場合など、これだとたいへん不便です。

これは、RAM不足から起こる現象だそうです。
だったら、RAMを増やせないだろうか、ということで、今回紹介するのが Swapper 2 (for Root users) です。
名前の通り、root取ってないと使えないので注意して下さいね。