::DA大好き

DAとは、「Desktop Accessories」の略で、今、動いているアプリを、一時停止させて、別の簡単な処理を割り込ませ、終わったら元のアプリを再開させる手法および、プログラムの事です。

例えば、文章を書いている最中に、電卓で、計算する必要があった場合、DA版の電卓で、計算し、結果を、文章に反映させるような場合に使用します。

Hackと呼ばれるプログラムは、システム内に常駐し、常に、ユーザーの操作や、システムの動作を、監視するタイプのプログラムで、あまり沢山のHackをいれると、動作が、遅くなったり、致命的なエラーを引き起こす原因にもなったりします。

Hackでしか、実現できない機能は、別にして、DAでも実現可能であれば、私はDAを選びます。携帯として使っているTreo650やCentroが、Hackで、挙動不信になり電話機能に障害が出るのが、嫌だからです。

よって、自分で作るアプリのほとんどが、DAです。DAでは、不可能だろうという機能を、実現するのは、私にとってチャレンジなのです。

だから、DAで、ファイル操作アプリを、作ったり、TreoNaviを補完するDAを作ったり、GPSで、衛星の捕捉情報を表示したり、位置情報をログにとるDAや、DAで、動作させるMP3プレイヤー等を、作っているのです。

今回は、自作のDAで、お気に入りの物を、幾つか紹介しますが、その前に、DAを起動させるランチャーから、紹介します。

DAは、使いたい時に、直ぐに呼び出せないと、使い難いです。例えば、TreoNaviの押せないボタンを、押したいためにNaviPlusDAを起動しようとしますが、そんな時に、メニュー2回押して、表示されたメニューからDAランチャーを呼び出して、表示されるDAの一覧から、NaviPlusDAを、選んで、なんて、やってられません。

キーボード付きのTreoやCentroに、一覧表示からDAやアプリを、選択する方式のランチャーは、似合わない。

そこで、ショートカット方式の、DAランチャーを作りました。

1)TreoLauncherDA

2個のキーの組み合わせで、DAやアプリが、起動できるランチャーです。ハードキー2(アプリ起動)とハードキー3(DA起動)が、トリガーとなり、続けて、他のキーを押すだけです。これだと、ハードキー2と3が、使えなくなる? いいえ、ハードキー2、3を2回押せば、元からアサインされた、SMSや、メールが、呼び出されます。

操作画面は、ありません、ただ、アサインしたDAを忘れてしまった場合に備えて、次のキーの入力を一瞬躊躇した場合、備忘録として、ハードキー周りの画像が、アイコン付きで、にゅ〜と現れる仕掛けになっています。ただ、単に、にゅ〜と画面を出したかったという、お遊びです。
ハード3キーでの、DAアサイン状況

ハード2キーでの、アプリ アサイン状況

DA本体を、小さくするため、画面用のイメージリソースを、別DBに分けてあります。よって、Centroを購入した場合でも、リソースファイルを、
Centro用に用意すれば対応できました。Treo700,680,755は、持っていませんが、何故か、リソースファイルは、作ってあります。

      ******

ハードキー3を押したあとに、その他のキーを押すと、アサインされたDAが、起動します。同様に、ハードキー2を押す組み合わせの場合は、アプリが起動します。TreoやCentroには、方向キーを含む、11個のハードキーがあります。センターキーは、キャンセル用ですから、最初に押す、1個のキーを除く、9個のDAが、登録できます。アプリも同様に、9個のアプリを起動できます。

さらに、キーボード上の28個のキーも、組み合わせに使えるので、最大で、26個のDAを登録できます。アプリも26個登録できます。

が、この場合、備忘録機能は、使えないので、思い出すか、適当にキーを押すことになります。

私の場合は、アルファベットで、機能を連想するキーに、DAをアサインしました。

mP3ならP、naviMagicならM,bluetoothGpsならG、wDicならDという風にです。



さて、技術的な話しになりますが、全体の動きを、ご紹介します。

ハードキー2と3を、監視しているのは、TreoHelperというHackアプリです。

このTreoHelperは、tDALという、ミニDAランチャーを、内臓していて、実行すると、別プログラムとしてtDALを吐き出します。

tDALは、TreoLauncherDAを起動させます。TreoLauncherDAは、次のキー待ちをし、アサインされたキーがくると、tDALに、DA起動を依頼します。

1)TreoHelper・・終了してリソースを開放
2)tDAL=>TreoLauncherDA・・終了してリソースを開放
3)tDAL=>実行したいDA・・終了してリソースを開放

一見、複雑な動きですが、各処理が、それぞれ消費したリソースを解放後に、次の処理が行われるので、リソース不足の心配が無い。非同期なので、各処理間に、OSに溜まった処理があれば、実行される。各プログラムを、最小化できる。

という利点があります。

また、この仕組みがあれば、DAが、自分自身を、再起動することも可能ですし、DAが他のDAの持つ機能を利用することも可能になります。

      ******

2)NextAppointDA

現在の時刻と、次の予定を、1件のみ表示するDAです。会議中に、「さて、次の予定は?」とか、文章を書きながら、「お、次の予定まで2時間空きだ!」等という時に、使います。私の作るDAは、大体この吹き出し付きのデザインに統一されていますが、その第1段となった、記念のDAです。ただ、PocketPCのパクリ・デザインですが、気に入っています。PocketPCで、好きだったのは、これと、Todayだけだったので、移植したわけです。

次の次の予定は?、等と欲張ってはいけません。そういう場合は、カレンダーに、Jキーでジャンプすればいいのです。

小さい表示画面ながら、A5のアイコンや、カテゴリー、アンテナ感度等も出せるようになっています。

Palmのプライバシー機能にも対応しているので、伏字表示される事もあります。

また、タイトル部のグラデーションは、PrefのColorテーマ対応で、色合いが変わります。


3)キーボード・ライトOn/Off DA

これは、定番のキーボードのバックライトの制御です。オン・オフだけのシンプルなものです。

しかし、Palmは、判ってないねえ。日中明るい外では、画面の輝度を、上げるけど、キーボードは、同じように明るくする必要は無いよね。また、暗い時には、まぶしいので、画面は、暗くしたいけど、キーボードは、見易いように、明るくしたいもんだ。

画面を明るくしたら、キーボードは、暗く、画面を、暗くしたら、キーボードを、明るくした方が、いいよね、あれ、キーボードだけ、明暗調整できたかしら???? 新しいDAの誕生か? 調べてみよう。


4)NaviColorChangeDA

TreoNaviの色は、青のグラデーションです。Colorテーマを変えても青のまま。

このDAは、TreoNaviの色を変える、DAです。ピンク系、赤系、紫系など、好きに変えてみましょう。

TreoNaviの色が違うだけでも、新鮮だし、「他のTreoとは、違うのだよ」と威張れます。

勿論、赤から青への、グラデーションとかも、可能ですよ。


5)DefaultPathDA

HotSyncで、ファイルをTreoのSDに、転送したい時、送りたいファイルを処理できるアプリが、Treo内にあれば、指定フォルダに送ることもできますが、どんな、ファイルでも、送れるわけじゃない。PalmQuickInstallに、無理やり、ファイルをドラッグ&ドロップしても、エラーになるだけです。

このDAは、ファイル・タイプとフォルダ関係を、Treoに教えるDAです。

例えば、FLV形式は、Movieフォルダに、転送するように、設定しておけば、PalmQuickInstallで、SD欄に、FLVファイルを、ドラッグ&ドロップすれば、HotSyncで、転送できるようになります。

WDic用の.dicファイルは/Palm/Programs/PDIC/に送るとかね・・・
何処に送るか、判らなかったら、/(ルート)に送るようにすればいい。受け取ってから、ファイラーで、移動すればいい。

では、本体や、メモリーカードにあるファイルを、PCにHotSyncさせるのは??
時々しか、使わないなら、ファイラーで、ファイルを、メモリーカードのDCIMフォルダにコピーする。そして、xxxxx.prcをxxxx.prc.jpgにリネームするんだ。
HotSyncは、画像ファイルだと思って、PCにコピーしてくれるよ。PC側では、.jpgを、取ればいいだけだ。転送用専用アルバムを作っておけばいい。


6)PhoneInfoDA

SMSやメールの未読数、BlueTooth、バッテリー、電波強度を、表示するだけのDAです。Phoneアプリにも、同じ情報がありますが、バッテリー、電波強度を、表示しないアプリが多いので、作りました。