XModules
AppleScript のモジュールライブラリです。僕は、ここで公開しているライブラリを使用して、Software Gallery で公開している多数の AppleScript アプリケーションをつくっております。
「load script」コマンド、もしくは「ModuleLoader」を使用して、script object としてロードすることができます。
script object を使用してスクリプトを複数のファイルに分割して開発する手法については、「AppleScript ソースコードの分割と共有」をご覧になって下さい。
誰かの AppleScript の開発に役に立てたら幸いです。使い方や使用に付いて不明な点があれば(なくても)お気軽に質問してください。
多くのモジュールの再コンパイルには、ModuleLoader と Dependencies として列挙されているモジュールが必要です。
Related Products
以下のツールを使うと XModules を便利に使うことができます。
ModuleLoader
AppleScript のモジュール管理システムです。
XModules は、load script コマンドで load して独立した script object として使えるようになっています。しかし、ModuleLoader を使うと、スクリプトの場所に依存せず(ソースコード中にファイルパスを書き込まないで)スクリプトをロードできるので、ぜひご使用をご検討ください。
また、各モジュールの再コンパイルする際には必要です。
HelpBook.osax
任意のバンドル内の Help Book を ヘルプビューアへ登録、表示を行うスクリプティング機能追加です。
ほとんどのモジュールで、マニュアルはそのバンドルの中に Help Book として収められています。ヘルプビューアでマニュアルを表示させる為にはスクリプティング機能追加 HelpBook.osax が必要です。詳細は、各モジュールの Read Me をお読みください。
Show Help
バンドルに設定されている Help Book をヘルプビューアで表示する AppleScript です。Help Book.osax が必要です。
HelpSearch
ヘルプビューアで検索を実行する AppleScript です。指定した語句を、ヘルプビューアに登録されているすべての Help Book から検索します。
XModules の多くは、スクリプトメニューからの実行すると、マニュアルをヘルプビューアで表示する仕様になっていますが、Show Help/Help Search を導入すると、Quicksilver からマニュアルの検索/表示操作を行えます。
AppleScriptDoc
ソースコードとコメントから、スクリプトのリファレンスマニュアルを HTML として出力します。
もっぱら、XModules のリファレンスは AppleScriptDoc を使って生成しています。
Data Collection
XListIterator, Queue, Stack として使えるリストのラッパーオブジェクトを提供する AppleScript のモジュールです。 AppleScript のリストの欠けている機能の多くを補完します。 また、AppleScript のリストはリファレンスを経由して要素を参照しないと速度が大きく低下するという性質があります。XList は内部で、常にリファレンスを経由してリストにアクセスする為、常に良好な動作速度が得られます。 |
1.3 -- 2008-03-20 |
| Read Me | |
| Manual | |
| Download | |
| Dependencies |
XDictXDict は AppleScript で連想配列のデータ構造を提供するモジュールです。連想配列とはキー値に対応して値を設定した配列です。 連想配列とは・・・record クラスにいくらか似ており、ラベルをスクリプトの実行中に新しく作ることができたり、変数で指定したりすることができるものと考えて大間違いないでしょう。 |
1.5 -- 2008-12-04 |
| Read Me | |
| Manual | |
| Download | |
| Dependencies |
Text Manipulation
XTextテキスト操作をオブジェクト指向で行うための、AppleScript のテキストオブジェクトのラッパーオブジェクトです。文字列の置換や分割、空白の除去など様々なテキスト操作をオブジェクト指向のスタイルで行うことができます。 |
1.1 -- 2008-03-19 |
| Read Me | |
| Manual | |
| Download | |
| Dependencies |
XCharacterSet文字集合を表現する AppleScript のモジュールです。オブジェクト指向スタイルで様々な文字集合を構築し、ある文字列がその文字集合に含まれているがどうか調べることができます。 |
1.1 -- 2009-04-02 |
| Read Me | |
| Manual | |
| Download | |
| Dependencies |
File Operation
XFileXFile はファイル操作(移動/削除、属性の取得などなど)に統一的なオブジェクト指向インターフェースを与えるAppleScript モジュールです。 AppleScript でのファイル操作はスクリプティング機能追加、Finder、System Evetns、シェルコマンドを駆使して行えますが、機能がいろんなところに分散していて非常に煩雑です。XFile はこれらを隠蔽して、よく整理されたインターフェースのファイルオブジェクトを導入します。 |
1.2.2 -- 2009-11-09 |
| Read Me | |
| Manual | |
| Download | |
| Dependencies |
PathAnalyzerファイルもしくはフォルダのパス文字列("Macintosh HD:Users:UserName:hello.txt"とか)だけから、引き出せるだけの情報を引き出します。フォルダへの参照 / フォルダの名前 / ディスクへの参照 / ファイル名 / 拡張子 / フォルダであるかどうか、など。 ほどんどすべてのファイル参照形式(alias、file specification、HFS パス、POSIX パス、furl class、Finderの参照形式)を扱えます。 |
1.7.2 -- 2008-11-27 |
| Read Me | |
| Manual | |
| Download | |
| Dependencie |
PathConverter相対パスを絶対パスに変換、逆の絶対パスから相対パスへの変換を行います。HFS 形式とPOSIX 形式の両方のファイルパスを扱えます。 |
1.4 -- 2008-03-20 |
| Read Me | |
| Manual | |
| Download | |
| Dependencies |
Application Scripting
FinderSelectionFinder で選択されている物から条件にあったファイル/フォルダを取得するモジュールです。 AppleScript をスクリプトメニューや何らかのランチャーから起動して、Finderで選択されている物を取得して処理を行う・・・よくある AppleScript だと思います。FinderSelection はエラー処理を含めて気の利いた処理をほんの数行で実現できます。 |
2.0.5 -- 2009-04-30 |
| Read Me | |
| Manual | |
| Download | |
Requirements
|
|
| Dependencies |
InsertionLocatorFinder で選択されている場所を取得する AppleScript モジュールです。 Finder の insertion location プロパティは、常に Finder ウィンドウのトップレベルを意味します。選択されているフォルダやリスト表示で表示されているサブフォルダを取得したい場合もあるでしょう。InsertionLocator はそれらを取得することができます。そして、アプリケーションにあわせて細かい振る舞いをカスタマイズすることができます。 |
1.2.7 -- 2009-11-05 |
| Read Me | |
| Manual | |
| Download | |
Requirements
|
|
| Dependencies | |
| Applications |
FileSorterファイルの参照のリストを、Finderで表示されている順番に並び替えます。アイコン表示、リスト表示、カラム表示に応じてソートの仕方を自動的に選択します。 |
3.0.4 -- 2009-11-06 |
| Read Me | |
| Manual | |
| Download | |
| Dependencies | |
| Applications |
TerminalCommanderターミナルでのシェルコマンドの実行を支援するモジュールです。以下のような、複雑な処理を行いたいときにこのスクリプトはお役に立てるでしょう。
Mac OS X 10.4 の為には、Version 1.6.2 をお使いください。 |
2.0.2-- 2009-06-23 |
| Read Me | |
| Manual | |
| Download | |
Requirements
|
|
| Dependencies | |
| Applications |
FrontAccess最前面のアプリケーションの取得およびそのアプリケーションで開いている、最前面の書類のファイル参照を取得するモジュールです。 GUI Scripting を利用して、以下のことを簡単にできるようにします。
特定のアプリケーションに依存せず、現在注目しているファイルを処理するスクリプトの作成に役に立ちます。 |
1.1 -- 2009-10-20 |
| Read Me | |
| Manual | |
| Download | |
| Requirements | |
| Dependencies | |
| Applications |
Script Development
GUIScriptingCheckerGUI Scripting が使用可能かどうか調べる AppleScript モジュールです。GUI Scripting を使ったスクリプトの最初で使います。 GUI Scripting が使用不可の場合は、GUI Scripting を ON にする許可を求めます。 |
1.1 -- 2009-10-19 |
| Read Me | |
| Manual | |
| Download | |
Requirements
|
|
| Dependencies | |
| Applications |
ShowHelpBookCurrent Bundle(path to me で取得できるパス) の中の Help Book をヘルプビューアで表示するモジュールです。基本的には、HelpBook.osax の命令を呼び出しているだけですが、エラー処理(メッセージをダイアログで表示するなど)と Info.plist の内容が失われているときの自動復旧を行います。 ここで、公開しているモジュールのほとんどは ShowHelpBook を使って、自分のバンドル内のマニュアル表示機能を持っています。 |
1.0 -- 2007.06.09 |
| Read Me | |
| Manual | |
| Download | |
| Requirements |
Misc
XAccessor文字列で record のラベルや scirpt object の property 、グローバル変数を指定して値を取得/設定することができます。 AppleScript の言語レベルではサポートされていない機能を実現する AppleScript モジュールです。 |
1.1 -- 2007.08.22 |
| Read Me | |
| Manual | |
| Download | |
| Dependencies |
XHandlerハンドラを文字列で指定して実行することができます。 スクリプト実行時に実際に実行するハンドラを決定したり、Chain of Responder や method forwarding など、動的な振る舞いの実現に訳にたちます。 AppleScript の言語レベルではサポートされていない機能を実現する AppleScript モジュールです。 |
1.2 -- 2008-02-28 |
| Read Me | |
| Manual | |
| Download | |
| Dependencies |
SortEngineクイックソートとバブルソートのアルゴリズムを内蔵し、オブジェクト指向インターフェースで動作をカスタマイズできるソートルーチンです。 |
2.0 -- 2008.02.02 |
| Read Me | |
| Manual | |
| Download | |
| Dependencies |
DefaultsChangerDefaultsChanger は User Defaults の値を一時的に変更するモジュールです。 通常、他のアプリケーションの設定ファイル (User Defaults) を勝手に書き換えるのは好ましくないことですが、必要に迫られることもあるかと思います。そんな時、DefaultsChanger は安全に User Defaults を一時的に変更するフレームワークを提供します。 |
1.0 -- 2008-04-08 |
| Read Me | |
| Manual | |
| Download | |
| Dependencies |
Deprecated
UniqueNamer指定したフォルダ内で他のファイルやフォルダとダブらない、ユニークなファイル名を求める AppleScript モジュールです。 Mac OS 9(Classic 環境)互換の長さのファイル名の生成にも使えます。 Mac OS X 10.5 では、XFile の unique_child を使ってください。 |
1.6.3 -- 2007.07.25 |
| Read Me | |
| Manual | |
| Download | |
| Dependencies |
StringEngineAppleScript によるテキスト処理ルーチンを集めたモジュールです。基本的なテキスト処理ルーチンを、ほぼすべて網羅していると思います。
|
1.8.3 -- 2007.12.25 |
| Read Me | |
| Manual | |
| Download | |
| Dependencies |
TerminalCommanderターミナルでのシェルコマンドの実行を支援するモジュールです。以下のような、複雑な処理を行いたいときにこのスクリプトはお役に立てるでしょう。
Mac OS X 10.5 以降には、Version 2.0 以上を使ってください。 |
1.6.2 -- 2008-10-03 |
| Read Me | |
| Manual | |
| Download | |
Requirements
|
|
| Dependencies |