Xcode 3 のカラーテーマを Xcode 4 用に変換するアプリ

Xcode 4 では、カラーテーマの仕様も変更されました。今回は、Xcode 3 用のカラーテーマを Xcode 4 に変換するアプリ xccolortheme2dvt を作りましたので、紹介します。

アプリについて

このアプリは、mrevilme 氏が公開されていた Python スクリプト を少し手直しして、AppleScript アプレットでラップしたものです。

TextMacro2Snippet では自力で新しい設定項目にマッピングするコードを書いたのですが、今回はすでにスクリプトが公開されていたので、それを使ってみました。

ダウンロード

使い方

  1. アプリを起動する。
  2. 変換したい Xcode 3 用カラーテーマを選択する(複数選択可)。
  3. 変換した Xcode 4 用のカラーテーマを保存するフォルダを選択する。

    “Xcode 3 のカラーテーマを Xcode 4 用に変換するアプリ” の続きを読む

Xcode 4 用 Code Snippet

先日 Github で Xcode 3 のテキストマクロを Xcode 4 用の Code Snippet 形式に変換するアプリ「TextMacro2Snippet」のソースを 公開 しました。

ただ、Xcode 3 のテキストマクロは、私が使い始めた当時は情報が少なかった(単に見つけられていないだけかも)こともあり、広く一般に利用されているという印象はありません。

そこで、Xcode 4 ですぐに使える変換済みの Code Snippet をあわせて公開しました。内容は、私が Xcode 3 で使っていたものを TextMacro2Snippet で変換したものです。よろしければお試しください:

使い方

使い方は、snippets フォルダの中身を ~/Library/Developer/Xcode/UserData/CodeSnippets/ 以下にコピーし、Xcode 4 がすでに起動していれば、再起動します。

“Xcode 4 用 Code Snippet” の続きを読む

クラスメソッドかインスタンスメソッドか

AppleScriptObjC に関しては、風のウワサで「何でもできるよ!」と聞いてはいたのですが、Cocoa/Objective-C と AppleScript の両方やっている身からすると、触っていくうちにそこかしこで「え? Cocoa のあれどうやってやるの?」という場面に遭遇します。

ふと思ったのが、AppleScript のクラスでどうやってクラスメソッドを定義するのか ということです。ひとまずの結論としては、クラスメソッドとして呼びたければそのように、インスタンスメソッドとして呼びたければそのように呼べばいい ようです。

サンプルコード

ClassMethodOrInstanceMethodScreenSnapz001

“クラスメソッドかインスタンスメソッドか” の続きを読む

AppleScript で書いたクラスを ObjC から使う

XcodeScreenSnapz011

Snow Leopard では、AppleScript Studio の後を継いで AppleScriptObjC.framework が導入され、Cocoa の大半の機能を AppleScript から利用できるようになりました。

例えば、AppleScript から Cocoa/Objective-C のクラスを利用したり、AppleScript でそれらのクラスのサブクラスを作成できるようになりました(言い換えれば、作成しなければならなくなった …笑)。

少し残念なのは、前述の通り 「AppleScript から Cocoa の機能を利用する」ことに重点が置かれており、Cocoa/Objective-C の世界から AppleScript を利用する ことには(まだそんなに調べていませんが)重点が置かれていないようです。

ただ、AppleScript で書いたクラスも、アプリケーションの動作中には Objective-C のクラスとして存在するわけで、それにアクセスするのは、(ヒネた内部構造になっていなければ)さほど難しくないはず…。

というわけで作成したのが、今回のサンプルコードです。

サンプルコード

Evernote for iPhone hack 再び

Saved Search の削除

以前、Saved Search の検索キーワードにダミーのキーワードを設定することによって、Note を Notebook 単位で見やすくする方法を 書き ましたが、この方法の問題点の1つとして、作成した Saved Search を削除できない というものがありました。

現状、Evernote for iPhone の「Saved Searches」画面 の項目の上でスワイプしても、他のアプリのような削除ボタンは現れません。

これはどうすればいいのかというと、Mac 版のクライアントソフトで削除することができます。クライアントソフトの各機能をちゃんと活用してる人には、今さら何だ、という話かもしれませんが 汗(以前の記事参照)

iPhone 上で Saved Search に変な名前を付けちゃったときにどうぞ。

“Evernote for iPhone hack 再び” の続きを読む

Codes:del.icio.us の bundle を WebnoteHappy のスマートフォルダに変換するスクリプト

ダウンロード Download

Bundles2SmartFolders.zip(7.6KB)

これは何? What’s This?

del.icio.us API を通じて bundle のデータを取得し、それに対応したスマートフォルダを WebnoteHappy に追加する、実験的なスクリプトです。

An experimental script, which retrives bundle data through del.icio.us API, then adds corresponding smart folders to WebnoteHappy.

動作環境 System Requirements

System Events/Property List Suite を使っているので、Leopard 専用 です。ただし、その部分を普通のテキストベースの編集に修正していただければ、Tiger 以前の環境でも動作させることができると思います。

Leopard only. Because this script using System Events/Property List Suite. But you can easily run on OSes before Tiger, if you rewrite that part as usual text file I/O.

“Codes:del.icio.us の bundle を WebnoteHappy のスマートフォルダに変換するスクリプト” の続きを読む

AppleScript Studio から Cocoa API を利用する

久々に AppleScript Studio の話題を。先日、applescript-studio ML に、

  • call method コマンドで Cocoa API を呼び出せるのはいいが、膨大な API の中には、AppleScript がネイティブに対応しているものもある。本当に必要な API がどれかを判断するには、どうしたらいいのか

  • また、その必要な API を AppleScript でラップして、AppleScript の知識だけあれば使えるような、ライブラリのようなものを作ったらどうか

という趣旨(たぶん)の 投稿 がありました。

で、僕はそれに返答を試みたのですが、まず英語に関して、読解力は、なんとかキープできていると思いますが、記述力は、もともと無いうえに、さらに悪化、高校レベルの基本的な文法を忘れている気がします。来年の目標が一つ確定(涙) 結局、自分が思ったことを、自分の記述力で漉してみたら、ちょっとしか汁が出なかった(?)という状態だったので、(日本語なら大丈夫かは別として)ここでリベンジしてみようかと。

“AppleScript Studio から Cocoa API を利用する” の続きを読む

Markdown Extra for MarsEdit

ひとつ前の 記事 では、MarsEdit 2 の新機能を試すために、久々に HTML で書こうと思ったけど、一瞬で Markdown に戻してしまった」というようなことを書きましたが、Markdown といっても、僕の場合はは本来の Markdown ではなく、(PHP)Markdown Extra でなくてはなりません。

記事を Markdown Extra で書くのに特別な設定はいりませんが、Markdown Extra で書いた記事をプレビューする機能は、MarsEdit には用意されていません。

そこで、MarsEdit で、Markdown Extra で書いた記事のプレビューを可能にするパッケージ を作成してみました。そんなに難しくないので、間違いなく他にも誰かがやっていると思いますが、「marsedit markdown extra」とかでググっても、結構ポピュラーなキーワードなので探しにくいし、運良く(?)当サイトをご覧になっている方のために…

ダウンロード:Markdown_Extra_for_MarsEdit.zip(36KB)

使い方等は以下。

“Markdown Extra for MarsEdit” の続きを読む

PPMElasticTabView

ダウンロード:PPMElasticTabView.zip(44KB)

昨日の「Kaku 1.2 予告」で、「ブログ設定パネルが、内容に応じて伸縮するようになった」というようなことを書きましたが、それに使っているのがコレです。

要は、Pages などのインスペクタにみられるような、アニメーションしながら(内包されているウィンドウもろとも)伸縮するタブビュー を実現します。詳しい使い方は以下。

“PPMElasticTabView” の続きを読む

Cocoa UI アニメーションの作成について(ちょっと)調べてみる

かなりの遅まきながら、「脱線(2)」のアウトプット記事、第2弾です。今回は、なんとか作ってみた PPMTabView というクラスの紹介と、それを作る過程で調べたことを書いていきたいと思います。

「UI アニメーション」と言っても、今回は、こういう「発煙」みたいなところまで(これはほんとにアニメですね)は行かず、アプリケーションウィンドウやその内容に変化があったとき、クロスフェードしたり、スライドしたりして、ユーザーによるアプリケーションの状態の把握をアシストする、といった範囲(…というか、単に UI のトランジションエフェクト について書きたかったのかも、書きながら思いました)のことを書こうと思います。

ところで、他にもいろいろ参考にさせていただいたサイトはあるのですが、この記事を書いていくうち、このテーマに関しては、ウェブサイト Vacuous Virtuoso を見てもらうのが間違いない、という結論に至りました。この記事も、このサイトの説明に終わってしまう予感がしています。

さらに、上のサイトを見つけるきっかけや、その他のことに関して参考にさせていただいたのが zumaya さんの ひ to り go と、特に 2月の アーカイブ です。

“Cocoa UI アニメーションの作成について(ちょっと)調べてみる” の続きを読む