2009.06
2009-06-23
2009-06-23T10:48:07+09:00
TerminalCommander 2.0.2
ターミナルでのシェルコマンドの実行を支援するモジュールです。以下のような、複雑な処理を行いたいときにこのスクリプトはお役に立てるでしょう。
- ターミナルウィンドウを追跡して、同じターミナルで何度もシェルコマンドを実行したい。
- シェルコマンドの終了を待ってから、次の処理に移りたい。
- シェルコマンドを実行するターミナルのシェルを指定したい。
- ターミナルウィンドウの、色の設定、タイトルの設定、もしくは設定セットを指定したい。
修正点は、
- Mac OS X 10.5.7 が必要。
- カスタムタイトルの設定に TerminalControl.osax を使わないようにした。
- Mac OS X 10.5.7 でターミナル.app のバグが修正された為です。
- TerminalColors で background color の透明度を設定するときだけ、TerminalControl.osax が必要になります。
- TerminalCommander に ttyname を追加。
- タブを別のウインドウに分離したとき、対象とするウインドウを正しく追跡できない不具合を修正。
2009-06-19
2009-06-19T23:01:04+09:00
Mac OS X 10.5.7 の ターミナル 2.0.2
Mac OS X 10.5.7 では、ターミナル.app もアップデートされて 2.0.2 になっていることに気がついた。さらに、以前苦しめられた AppleScript に関するバグが修正されているようだ。
一つ前の ターミナル 2.0.1 では、ウインドウ(もしくはタブ)ごとにカスタムタイトルを設定できなかった。ウインドウ/タブのタイトルを変更したつもりでも、プロファイルのタイトル設定を変更したことになってしまっていた。ターミナル 2.0.2 ではウインドウ/タブ個別のタイトルが設定できるようになっている。
このバグは僕に取ってはかなり致命的で、バグを回避する為にスクリプティング機能追加 TerminalControl.osax を開発した。こいつは、Input Manager みたいにアプリケーションプロセスにコードを侵入させて(基本的にスクリプティング機能追加はそういうもの)、ターミナルの内部のメソッドを実行しちゃう OSAX だ。ハックだから作るのに苦労したぜ。Mac OS X 10.5.7 では、カスタムタイトルの設定に TerminalControl.osax は必要ない。TerminalControl.osax が無いとできないことは、ウインドウの透明度の設定だけ。
バグを直してくれるのはうれしいけど、苦労して作ったものの価値が失われるのは悲しい。まあ、バグ回避が主目的だったからしょうがないけど。
さらに、AppleScript 経由でターミナルタブ個別の設定を変更した時、設定ウインドウを選択するとプロファイルの設定に戻っちゃうバグも修正されているみたい。Mac OS X 10.5.7 のリリースノートには、ターミナルのことなどこれっぽちも書いていないからやんになっちゃうぜ。
TerminalCommander をアップデートして、Open in Terminal と TeX Tools for mi と UnixScriptTools for mi は TerminalControl.osax に依存しないようにした方がいいな。まあ、次のアップデートで。
2009-06-18
2009-06-18T13:52:13+09:00
フォルダに含まれているエイリアスファイルのリンクが壊れていないかどうかチェックする。
指定したフォルダ(サブフォルダも含む)に含まれているエイリアスファイルのリンクが壊れていないかどうかチェックする AppleScript を紹介します。
実行すると Finder で選択しているフォルダの中に含まれているエイリアスファイルをチェックします。オリジナル項目が見つからないエイリアスファイルをダイアログにリストアップしてを表示します。リストダイアログで壊れたエイリアスファイルを選ぶと、 それを Finder で表示します。
僕は、ソフトの配布パッケージを作る時に、CopyMagic を利用しています。CopyMagic はフォルダに含まれているエイリアスファイルをそのオリジナルのコピーと置き換える AppleScript です。ソフトの配布パッケージのテンプレートとなるフォルダを用意して、その中に配布物のエイリアスファイルを入れておきます。パッケージを作る場合は、そのフォルダをコピーして CopyMagic を実行すれば配布に必要なファイルが全部収集されるという寸法です。で、このテンプレートフォルダの中のエイリアスファイルを事前にチェックするために使っています。
コンパイルをするには、ModuleLoader と FinderSelection を用意しておく必要があります。
2009-06-15
2009-06-15T23:04:05+09:00
AppleScriptHTML 2.0.7
AppleScript のソ−スコードを、スタイルを再現する HTML に変換するアプリケーションです。
以下のような特徴があります。
- スタイルシートファイルを使って、ソースコードのカラーリングを行う XHTML を生成します。
- スタイル情報がコードのマークアップと分離されているので、後からカラーリングや文字サイズなどの微調整を行うことが容易です。
- (たぶん)非常にスマートな XHTML を生成します。
- スクリプトリンク機能
- XHTML に変換したソースコードをスクリプトエディタで開くリンクを付け加えます。サンプルコードを表示する時に使うと、ユーザーにとっては便利だと思います。
- ソースコードに日本語が含まれていても正しく動作します。
2009-06-11
2009-06-11T03:38:12+09:00
Putaway Disk Image File 1.1.3
マウントされているディスクイメージボリュームをアンマウントして、そのボリュームのディスクイメージファイルをゴミ箱に入れます。オンラインソフトのインストール作業の後片付けに便利です。
多くのオンラインソフトはディスクイメージファイルとして配布されております。必要なものをコピーした後は、ディスクイメージファイルは不必要になるので、
- ディスクイメージボリュームをアンマウント
- Finder でディスクイメージファイルを表示させる。
- ディスクイメージファイルをゴミ箱に入れる。
という手順で後片付けをされているかと思います。煩雑な作業だと思うのは僕だけでしょうか?Putaway Disk Image File は、上記の作業を一気に行います。
2009-06-07
2009-06-07T12:49:41+09:00
HASEGAWA さん、寄付ありがとうございました。
久々に、寄付を頂きました。47 人目。
お気軽にご意見など頂ければ幸いです。
2009-06-05
2009-06-05T16:39:31+09:00
フローティングウインドウ化したスティッキーメモを作る。
スティッキーズは、とりあえずのデータの置き場として便利です。何かの資料を参照しながらメモを取る時に、フローティングウインドウ化したスティーキーメモをシュパッと開けたら便利だと思いませんか?テンポラリなスクラップブックにもなります。新しいフローティングウインドウ形式のスティキーズメモを作成する AppleScript を紹介します。スティキーズは AppleScript に対応していないので、GUI スクリプティングを駆使しています。AppleScript ユーティリティーで GUI スクリプティングを使用可能にしてくださいね。
スクリプティング機能追加 SmartActivate が必要です。
バックグラウンドで動作させる必要があります。スクリプトファイルとして保存して、スクリプトメニューから実行するか適当なランチャーユティリティー(DragThing とか)に登録して、ショートカットキーで実行してください。
アプリケーションとして保存して使いたい場合は、そのアプリケーションをバックグラウンドアプリケーションにする必要があります。バンドル形式のアプリケーションとして保存して、Info.plist に LSUIElement という項目を追加して 1 と設定してください。
2009-06-01
2009-06-01T23:24:17+09:00
Finder でコンテキストメニューをショートカットキーで開く。
最近、更新が滞っているぜ。要するに、忙しいということだ。ソフト開発の為のまとまった時間をとる余裕が無い。仕様がないから、小ネタを紹介します。
Windows だと、コンテキストメニューをキーボードから開くことができるよね。キーボードに専用のキーがあるぐらいの厚遇ぶり。Mac OS X では・・・そんなことできないぜ!!。というわけで、Finder でショートカットキーでコンテキストメニューを開く Tips です。
次の AppleScript は、Finder の選択項目に対して、コンテキストメニューを表示するスクリプトです。これをスクリプトファイルとして保存し、何らかのユーティリティー(DragThing とか)に登録して、ショートカットキーを割り当てて実行してください。AppleScript ユーティリティで、GUI スクリプティングを使用可能にする必要があります。いまいち反応が鈍いのが玉に傷。