Pages

2009-12-09

Google Chrome for Mac β を試してみました

ついにGoogle Chrome for Mac betaが公開されたので、早速試してみました。以前からあった非公式ビルドを試した方も多いとおもうので、Chromeの特徴的な機能を紹介するのはやめておいて、今回のβ版で気になった点を2つ書いておきます。ちなみに今回のβ版はv4.0.249.30となっています。

拡張機能(エクステンション)非対応

SafariにはないChromeの特徴として拡張機能がありますが、現時点ではMac版はこれに対応していません。chrome://extensions/にアクセスすると「ギャラリーから探しますか?」と聞かれてChrome Extensions Galleryに飛ぶことができますが、そこで "Google Chrome Extensions are not supported on Mac yet. We are working to enable them soon." と言われてしまいます。将来的には利用できるようになりそうです。

Chrome Mac not support Extentions

表示が崩れる

SafariもChromeもレンダリングエンジンにWebKitを採用しているのでほとんど表示は同じになりますが、ChromeのWebKitはGoogleが独自に手を加えたものなので、微妙に違う結果になることがあります(Chromeの結果が崩れる)。

Safari & Chrome difference

これはTwitterのサイト上の一部のスクリーンショットで、上がSafari、下がChromeです。Chromeではこんな感じで表示が崩れる箇所が少なからず見られます。まあ実用上はあまり問題ありませんが。

まあ悪い点2つを挙げてしまいましたが、基本的にはいいブラウザです。Gmailがメチャメチャ早くなります。とりあえず試してみてはいかがでしょうか。Intel専用、Leopard以降のMacに対応しています。

2009-12-06

Save Panel Extender 2.0公開

しばらくアップデートしていませんでしたが、Save Panel Extender (SPE) 2.0を公開しました。今回のバージョンではシステム環境設定のパネルが追加されています。

SPE v2.0 Screenshot

この環境設定で設定できるのは、SPEを読み込むアプリケーションの制限。SPEはアプリケーションをハックして実現しているものなので、中には不具合が生じるアプリケーションもあります(OpenOffice.orgなどが既に確認済み)。そういうアプリケーションはSPEを読み込む対象から除外しておくことで不具合を回避することが出来ます。

当然、不具合回避だけが目的じゃなくて、「俺はテキストエディットでは絶対に追加オプションは使わないんだ!」的な場合にも役に立つ設定になっています。

2009-12-04

OpenMetaに関する日本語情報サイト

唐突ですが、日本語で書かれたOpenMeta情報サイトOpenMeta.netを公開しました。内容はまだまだ少なく、まだOpenMetaに初めて触れる人向けの情報が少しあるだけですが、将来的にはもっと内容を増やしていきたいと思っています(活用法とか開発者向け情報とか)。OpenMeta自体がまだまだ発展途上で利用者もあまり多くないみたいなので、これが少しでも何かの役に立てればいいかなと思います。

2009-10-28

キーボードランチャ Auftakt が便利

いとーけーのページで、Auftaktというキーボードランチャが公開されていました。シンプルさがウリのキーボードだけで操作できるランチャです。

OSXでキーボードランチャといえばQuicksilverが有名ですし、最近ではGoogle Quick Search Boxなんてのも人気を集めてます。私自身も昔はQuicksilverを使っていましたし、Macを買い替えてからは一時期QSBを使っていました。ただ、QSBはときどき動作が重くなるのが嫌で最近はアプリケーションの起動にSpotlightを使うようになっていました。

ただ、Spotlightもたまにもたついたり、アプリケーション以外の検索結果がトップヒットにくるとわざわざアプリケーションまでカーソルを移動させなきゃいけないのが面倒でした。

それに対して、Auftaktは指定したディレクトリ以下(アプリケーションがインストールされるディレクトリはデフォルトで設定されています)からアプリケーションだけを素早く探してくれるので非常に便利です。設定次第でiTunesを"itns"のようにタイプミスしてもちゃんと探してくれるなど、シンプルながら便利な機能も備わっています。

アプリケーションランチャに軽快さが足りないと思っていた人はぜひ試してみてはどうでしょうか。

2009-10-22

Save Panel Extenderがファイルの保存を感知している方法

先日公開したSave Panel Extenderの動作原理についてちょっと書きたいと思います。特にファイルの保存を検知するあたり。OMSavePanelのときもどこかで書いたかもしれませんが、だいたい同じです。

SPEでは、保存パネルの保存ボタンが押されるとそのイベントをアプリケーションより早く拾い上げて、ユーザが指定したファイル名を取得します。いわゆるMethod Swizzlingを用いてアクションの中に割って入っているわけです。

保存先のファイル名がわかったら、ファイルシステムイベントAPI (FSEvents) を使って監視体勢に入るわけですが、このFSEventsはディレクトリ単位での監視しかできないので、とりあえず親ディレクトリを監視登録します。

ディレクトリの内容が変更されるとFSEventsのデーモンがそれを検知して通知してくれるわけですが、この変更が対象ファイルの保存によるものなのかはわかりません。新規保存ならファイルが存在するかどうかで保存したかどうかがわかりますが、既存のファイルを置き換えて保存する場合にはそれではうまくいきません。そこで、SPEではファイルの更新日が新しくなったかどうかをチェックして、保存されたかどうかを判定し、そこからオプションの適用を行っています。

おそらくこういった作業をするにあたってはごく普通の手順だと思いますが、いくつか弱点があって、ファイルの更新日が古い日付のままだったり、FSEventsがディレクトリ内容の変更を検知しなかったりしたらオプションの適用は失敗してしまいます。そんなケースがあるのかは知りませんが。