Pages

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がディレクトリ内容の変更を検知しなかったりしたらオプションの適用は失敗してしまいます。そんなケースがあるのかは知りませんが。

2009-10-18

Save Panel Extender 公開

Save Panel Extenderというものを公開しました。保存パネルを拡張するSIMBLプラグインです。

SPE Screenshot

スクリーンショットを見てもらえればわかるかもしれませんが、立ち位置としてはOMSavePanelのSnow Leopard対応版といえば近いかもしれません。ただ、Save Panel ExtenderはOpenMetaタグの付与にとどまらず、その他の追加的なオプションにも対応していきたいと思っています。

とりあえず、今回のリリースではOpenMetaタグの他に、デフォルトアプリケーションの設定に対応しています。Snow Leopardになってクリエータコードが無視されるようになって不便極まりい思いをしていた人は、これで少し気楽になれるかもしれません。

OpenMetaについても、タグの消失問題に暫定的な対応がなされている現時点での最新仕様に対応しています。

2009-10-09

Snow LeopardにてOpenMetaメタデータが消える可能性

GoogleのOpenMetaグループに、Tagsなどで知られるGravity Appsの開発者の一人、MartinからSerious Problem with Extended Attributes on Snow Leopardと題されたメッセージが投稿されました。以下は勝手な要約です。

  • やべー、Snow Leopardでは拡張属性(OpenMetaで使われているファイルシステムの機構)がヤバいことになってるよ。
  • Leopardではアプリがファイルに書き込みするときはOSが拡張属性の内容を保護してくれたけど、Snow Leopardはダンマリ無視してきて、消えちゃうよ。
  • 拡張属性の保持はアプリ側で面倒みろってことね。でもわざわざ拡張属性に注意して内容を保持してくれるアプリなんてないよね。
  • Spotlightは以前のタグをインデックスしてくれてるから検索にはひっかかるけど、そのファイル自身にはタグがついていないかも。
  • OpenMetaのバックアップ機構(過去エントリ参照)のおかげで、消えても(OMバックアップ対応アプリを使っていれば)自動的に復旧できるけどね。まあ、ファイル名変えたり移動させちゃったらおしまいだけど。

原文にはもう少し細かな事例が載ってたりしますが、基本的にはこんな感じです。一通り問題が示されたあと、暫定的な解決策としてSpotlightコメントにも同じタグを書き込むのはどうよ?みたいな提案もありました。OpenMetaのウリの1つが「Spotlightコメントと違って簡単に消えない」だった(と思う)のですが、今回は逆の結果になってしまいました。どちらにせよOpenMetaを利用してファイル整理をしている方は十分に気をつけてください。

2009-10-05

ゆびがき 2.0公開

先日公開したマルチタッチトラックパッドによる手描きメモツール、ゆびがきをアップデートしました。ゆびがきのウェブサイトからダウンロードできます。

ゆびがき v2.0

前バージョンでは、描いたメモはその場でコピーして他のアプリケーションに貼付けて利用できましたが、v2.0では新たに「ライブラリ」機能を搭載しました。この機能を利用すると、描いたメモをゆびがき内に保存し、後から編集したりコピーしたりできるようになります。

あと、フルスクリーン周りを書き直しました。NSViewの- enterFullScreenMode:withOptions:はいろいろと不安定っぽいので。

2009-10-03

ゆびがき:マルチタッチで手書きメモ

個人的な必要性に迫られてアプリを1つ作りました。トラックパッドをキャンバスに見たて、指でなぞるとそれがそのまま画面上に線として描かれるアプリです。

「ゆびがき」の詳細

大学の授業が後期に入って、Evernoteを使ったノート取りに挑戦したんですが、そのときに困ったのが図形。授業中だからノートは素早く取らなきゃいけないけど、Macの図形作成アプリ(OmniGraffleとか)を使った図形作成って意外と時間がかかる。そこでこのゆびがきの出番。これなら素早く図形が描ける(当社比)。手書きだから当然きれいには描けないけど、スピードが重要な場面ではけっこう役立つはず。