Zaurus MORE ソフト アプリケーションメニュー C-Index v1.03 (WOBT) 2001/05/06 小笠原博之 インデックス画面の代わりに使えるコンパクトなメニューツールです。ザウルスが持 つ各種機能やMOREソフトへの切り替え、実行を手軽に素早く行うことができます。 ・特徴 (1)階層メニュー方式で多数のアプリケーションを細かく分類可能 (2)完全なキャッシュ方式で高速動作 (3)登録しなくてもすぐに使える本体機能&MOREソフト一覧の自動組み込み (4)キー毎に直接機能やメニューを割り当てることも可能 (5)細かい動作も指定可能な自由度の高い設定ファイル (6)常駐可能で時刻やバッテリー残量を表示(毎回終了させることも可能) (7)色や背景画像をカスタマイズ可能 v1.03の変更点: MI-E1 の Quick 電源 ON/OFF 対応 ●対応機種 一般的な MI 系 Zaurus で動作します。 ・動作確認機種 MI-C1 MI-E1 MI-P10 ・画面 縦横両対応 ●インストール方法 WOBT100.ZAC を Zaurus に転送し、MORE ソフト管理画面上で展開します。本体メモ リ、カードメモリ、どちらに転送しても構いません。 ----------------------------------------------------------------------------- 重要! すでに古いバージョンがインストールされている場合、メニュー設定ファイル WOBTINIT.TXT も上書きされてしまいます。必要な場合は、先に WOBTINIT.TXT を別の 名前で保存してから新しいバージョンを展開するようにしてください。 ----------------------------------------------------------------------------- ●アンインストール(プログラムの削除)方法 MOREソフト管理画面からそのまま削除してください。設定ファイル WOBTINIT.TXT は 残ります。必要に応じて保存もしくは削除するようにしてください。 ●使い方 起動すると最初にメニュー構築のための初期化を行います。これは初回の起動時だけ で、二度目以降は行いません。 起動後メニューから、登録されているアプリケーションを呼び出すことができます。 スクロールキーを使わず、直接ペンタッチで選択しても構いません。 スクロールキー カーソル移動 [決定]キー カーソルの項目を実行 [戻る]キー 一つ上のメニューに戻る [逆送り]/[順送り] カーソル上下移動 スクロールキーの左右を、[決定]や[戻る] 相当に割り当てることも可能です。キー 設定はすべてカスタマイズすることができます。 アプリケーションを呼び出すと、C-Index は常駐して小さいウィンドウになります。 このウィンドウをタッチすると(アクティブになると)元の大きさに戻ります。常駐し ないで毎回終了するように設定することもできます。 ●Quick 電源ON/OFF対応について MI-E1 の高速電源 ON/OFF に対応しています。本体内蔵のインデックス画面同様に、 電源 ON/OFF が大幅に高速化されます。 ただし C-Index は常駐ソフトなので、裏で起動しているアプリケーションにある程 度依存します。高速 ON/OFF 対応しているアプリケーション画面に C-Index が出て いる場合は、高速に電源 ON/OFF 可能です。例えば本体内蔵機能の画面で C-Index が表示されている場合、高速に電源 OFF できます。 ●メニューの再構築 メニュー内容は初回起動時にすべてキャッシュされるので、以後設定ファイルや本体 メモリ、カードメモリをアクセスすることはありません。そのため次のようなケース では、実際のメニューに反映させるためにメニューの再構築を行う必要があります。 ・あとからMOREソフトの追加や削除を行った場合 ・メニュー設定ファイルを変更した場合 メニューの再構成を行うには2つの方法があります。メニュー設定ファイルの記述ミ スなどで「MENU再構築」が実行できなくなった場合は(2)の方法を使用してください。 (1)「特殊」メニューから「MENU再構築」を実行する (2) WOBTCACH.DAT ファイルを削除して起動し直す ●背景画像 背景用の画像データはサイズが大きいので、標準のダウンロードパッケージにはサン プル画像が含まれていません。別配布されている背景用データをダウンロードしたり、 また自分で作成することによってメニューに絵を張り付けることができます。 背景用画像は ZIT 形式で、220x236dot 65536色ハイカラー(RGB565) のデータになり ます。ファイル名は WOBTBG00.ZIT です。このファイルが同じドライブに存在しない 場合、またはグローバルの <フラグコード> によって背景画像を読み込まない設定に している場合は、単色+線縁 の背景になります。 サンプルデータはこちらからダウンロードできます。 http://www.vector.co.jp/authors/VA004474/zaurus/more3.html MORE ソフト同様 Zaurus に転送して展開してください。(C-Indexと同じ場所に入れ てください) 背景画像を使用すると常駐メモリ量が大幅に増えます。また比較的古い機種の場合フ ラッシュメモリ読み込みが遅いので、起動に若干時間がかかるようになります。動作 用メモリの少ない機種では、背景画像は使わない方がいいでしょう。 ZIT 形式の画像データは BMP データから変換して作ります。 (1) 220x236 dot の BMP 画像(フルカラーフォーマット) を用意する。 (2) Windows のコマンドラインから次のように実行して ZIT に変換する。 czit -q565 (3) ZIT 画像のファイル名を WOBTBG00.ZIT に変更して Zaurus に転送する 変換ツール czit.exe はこちら「 http://hyp.pos.to/ 」からダウンロードすること ができます。 ●メニュー設定ファイル メニュー内容はすべて WOBTINIT.TXT ファイルで定義されています。このファイルを 編集することにより、自由にメニュー内容をカスタマイズすることができます。ファ イルの編集には、「かえで」等のテキストエディタが必要です。PC 上で編集して Zaurus に転送しても構いません。設定ファイルを変更したあと実際にメニューに反 映させるためには、メニューの再構築を行う必要があります。 メニュー設定ファイルには、以下の命令を記述することができます。 # <コメント> 「#」で始まる行はコメントです。# 以降行末まで無視します。 menu <メニュー名> <メニュータイトル> メニュー定義の開始を宣言します。<メニュー名> は必ず '*' で始まり、 3文字のアルファベットもしくは数字で表現します。大文字小文字の区別が あります。任意の名前を使用して構いません。「*TOP」は特別なメニュー 名で、一番最初にこのメニューが表示されます。 メニュータイトルは、そのメニューを開いたとき画面の一番上に表示され ます。項目名と同じ特殊文字が使用できます。 メニューそのものは最大 32個登録することが可能です。1つのメニューに登 録できる項目数に上限はありません。ただし画面に表示できる内容は同時に 54個までなので、それを越える場合はサブメニューに分類するようにしてく ださい。 [例] menu *TOP item <アクション> [<フラグコード> [<項目名>]] メニューに項目を一つ追加します。 <アクション> 選択されたときの動作を指定します。ここには4文字のア クションコードを記述します。次のいずれかになります。 ・アプリケーション識別子(詳細は後述) ・メニュー名 ・特殊コマンド(詳細は後述) <フラグコード> 通常は 0 を指定して構いません。必要に応じて細かな動 作を設定することができます。省略すると 0とみなします。 詳細は後述の「●フラグコード」を参照してください。 <項目名> メニューに表示される内容です。<アクション> がアプリ ケーション識別子の場合は、この値を省略することができ ます。省略するとアプリケーション名の読み出しを行い、 その名称を使用します。<項目名> には次の特殊文字を使 用することができます。 $$ 文字'$' $s 半角スペース $# 文字列の終了(以後コメント) load <検索ファイル名> [<フラグコード>] アプリケーションファイルを検索して、みつかったものを全部メニューに登 録します。<検索ファイル名> には ZaurusOS API のワイルドカードをその まま指定することができます。ZaurusOS のアプリケーションファイルの拡 張子は .APL です。<フラグコード> を省略すると 0 とみなします。項目名 名は、各アプリケーションの名前をそのまま使用します。 ソートは行いません。 [例] ・本体内蔵機能を全部まとめて登録する場合 load S4:*.APL load S5:*.APL ・本体内蔵メモリにあるMOREソフトだけ追加する場合 load F0:*.APL ・本体内蔵メモリとカードメモリ両方追加する場合 load F0:*.APL load F1:*.APL ・本体メモリの WOB で始まるMOREソフトだけ登録する場合 load F0:WOB*.APL option <フラグコード> グローバルのフラグコードを定義します。複数の項目にまとめてフラグコー ドを設定したい場合に使用します。あらかじめこのコマンドで設定しておく と、各 item 登録時の <フラグコード> に OR(論理和) されます。設定ファ イルの途中で変更することも可能です。 [例] ・スクロールキーの左右を、カーソル移動ではなく常に [決定] と [戻る] キー扱いにする場合。(1+2) option 3 ・アプリケーションを起動したとき常駐しないで必ず C-Index も終了させる。 option 4 ・アイコンデータを一切使用しない(完全なテキストのみとなる) option 8 ・BG画像を使用する場合 option 32 color <種類> <カラー> ウィンドウのカラーを設定します。 <種類> 色を設定する場所を指定します。 0 背景 1 文字(項目)色 2 サブメニュー時の項目色 3 カーソル枠の色 4 タイトルエリアのフォントカラー <カラー> 16進数6桁で RGB を直接指定します。R G B の順です。 [例] color 0 ff3000 pos <起動位置X> <起動位置Y> 起動時にウィンドウを表示する左上の座標を指定できます。ドット単位です。 size <サイズX> <サイズY> ウィンドウサイズを指定できます。ただし表示内容の調整は行われないので、 ウィンドウを広くしても表示項目数が増えることはありません。ウィンドウ を狭くすると表示されない部分が出てきますので、このパラメータを変更す る場合は注意してください。デフォルトの値は「size 220 236」です。 [使用例] スクロールキーの左右を常に [戻る][決定] に割り当て、メニュー項目を左 端一列だけに納めるように変更。サイズを「size 76 236」に変更すると、 ちょう縦1列分のスリムなメニューになります。 key <アクション> <フラグコード> <キーコード> キーにメニューを直接割り当てます。<アクション> に指定できる内容は、 item 命令と同一です。スクロールキーなどの基本操作も、この命令で定義 します。キー定義は最大 32キー登録することができます。 他にも、直接アプリケーションやメニューをキーに割り当てることができま す。例えば <メニュー名> を設定すると、ボタン一つで任意のメニューへ直 接移動できるようになります。直接メニューを開いた場合でも [戻る] キー で前のメニューに戻れますが、ヒストリ保存されるのは 16個までです。そ れ以上遡れないので、この機能を使う場合は *TOP メニューも何らかのキー に割り当てておくようにしてください。 NaKaMi v1.10 以降を使うとキーコードを調べることが可能です。 <アクション> アプリケーション識別子、メニュー名、特殊コマンドを記 述することができます。 <フラグコード> フラグコードを指定できます。 <キーコード> キーコードを16進数で指定します。 下位16bit キーコード bit16 CTRL bit17 機能 bit18 SHIFT [例] ・MI-E1 内蔵キーボードの [A] キーが押されたとき、*APL メニューにジャ ンプする。(41 は 16進数 ASCII コードの 'A') key *APL 0 41 ●フラグコード メニューの各項目には、細かい動作を制御するための <フラグコード> が設けられて います。個別に設定しても構いませんし、option 命令で全体に対して設定を行うこ ともできます。 これらの値を複数指定するときは、それぞれの数値を加算して下さい。例えばカーソ ルキーの左右を [戻る] [決定] に割り当てるときは「1+2」でフラグコードは 3 を 指定すればよいことになります。 1 この項目の上にカーソルがあるとき、スクロールキーの右を [決定] とみ なします。 2 この項目の上にカーソルがあるとき、スクロールキーの左を [戻る] とみ なします。 4 この項目が選択されたとき、常駐しないで C-Index を終了させます。これ は <アクション> がアプリケーション識別子の場合のみ有効です。 8 この項目のアイコンデータを読み込みません。これは <アクション> がアプ リケーション識別子の場合にのみ有効です。 16 項目名の文字数が多い場合は、縮小フォントを使用して表示文字数を稼ぎま す。どうしても長い項目名を使用したいけど文字数が足りない場合、このフ ラグを設定して下さい。 32 背景画像を読み込みます。これは特殊なフラグコードです。項目ではなく全 体に対して有効です。付属のメニュー設定ファイルでは、このオプションが 最初から設定されています。背景画像が不要な場合、このフラグを外すと起 動時のファイル検索が一つ減ります。 64 メニュー用のフォントカラーを用います。 128 タイトルエリアに、現在開いているメニュー名ではなくカーソル選択してい る項目名を表示します。ペン主体で使う場合はメニュー名を、スクロール キー中心に使う場合は選択中の項目名を表示した方が便利でしょう。これも 項目ではなく全体に対して有効なフラグです。 ●アプリケーション識別子 Zaurus 上のすべてのアプリケーションは、4文字の英数字(必ず半角)からなる識別子 を持っています。これをアプリケーション識別子といいます。 メニューにアプリケーションを登録する場合は、この識別子を <アクション> の欄に 記入します。アプリケーション識別子には大文字小文字の区別があるので、間違えな いようにしてください。(全部大文字です) 本体機能のアプリケーション識別子の例を以下に載せます。機種によって搭載してい る機能に差があるので注意してください。本体機能や MORE ソフトのアプリケーショ ン識別子は、AppChecker で調べることができます。 ・本体機能の例 アプリケーション識別子 機能内容 ------------------------------------------------ MAIL メール ADRS アドレス帳 SCDL スケジュール CLCK 時計 LNCH インデックス FLER 情報ファイル NOTE レポート&自由帳 PANT フォトメモリ ZWWW インターネットブラウザ DICT 総合辞典 FLER 情報ファイル ZNET パソコン通信 PMSC PCリンク ZPLX PowerLink OWNR 所有者情報 CALC 電卓 SPSH 表計算 JWRD ワープロ ZPDB パーソナルデータベース ZPIN パーソナルデータベースII CAMC デジタルカメラ SDMM ボイスメモ XMP3 MP3プレイヤー ZMP4 ムービープレイヤー ●特殊コマンド '!' で始まる次のコマンドも、メニュー項目やキー設定の <アクション> として使用 することができます。いわゆる内部コマンドに相当します。 ・共通コマンド !INI 設定ファイルを読み直し、メニュー内容を再構築します。 !OFF ザウルス本体の電源をOFFします。 !QUI このプログラム(C-Index)を終了します。 !RET 一つ前のメニューに戻ります。[戻る]キー相当 !VER バージョンを表示します。 !NOP 何もしません。区切り用の項目として使用してください。 !TIT タイトル表示文字を、開いているメニュー名にするか選択中の項目名にする か切り替えます。 ・キー定義専用コマンド !CMU カーソルを上に移動します。 !CMD カーソルを下に移動します。 !CML カーソルを左に移動します。 !CMR カーソルを右に移動します。 !EXE カーソル位置の項目を実行します。 ●ヒント ・再構築の高速化 メニュー再構築で一番時間がかかる処理はアイコンの読み込みです。メニュー設定 ファイルを修正しながら試している間は、全体に対して「option 8」を設定しておく とアイコンを読まないので再構築が高速になります。完成したら 8 を外して最後に もう一度再構築を行ってください。 なお、背景画像の変更(WOBTBG00.ZITファイルの入れ替え)だけの場合は、メニュー再 構築を行う必要はありません。 ・メニューの再利用 1つの同じメニューを複数の場所から呼び出しても構いません。きちんと元の場所に 戻ることができます。(サブルーチン的な使い方が可能) ・MI-E1のSD/CFアクセス MI-E1 で SD/CF 両方のアプリケーションを同時に起動することはできません。です が「load C1:*.APL」や「load C2:*.APL」などを使って、両方のアプリをあらかじめ メニューに登録しておくことは可能です。item コマンドのアイコン読み込みは、F0: F1: C1: C2 全ドライブを検索します。 ●制限事項 ・メニューの最大個数は現在 32個です ・1メニューに登録できる項目数は特に制限はありません。ただし画面に一度に表示 できる項目は 54個までで、それを越えた分は画面に表示されません。 ・キー定義は最大32個までです。 ・メニューの多重ネスティングは 16段(16階層)まで可能です。 ・項目が一つも存在しない空のメニューは開くことができません。 ●カスタマイズの応用例 ◎ペンタッチ優先単一メニュータイプ 良く使う機能を全部 *TOP メニューに集約し、ワンタッチで選択。あまり使わない機 能だけサブメニューへ。 ◎ペンタッチ階層型メニュータイプ 標準に近い階層メニュー形式で、「戻る」はメニューの先頭に配置する。さらに各メ ニューに、直接他のメニューを呼び出すショートカットを設けると便利。 ◎スクロールキー操作タイプ 標準の設定ファイルがこれに相当します。スクロールキー上下でカーソル移動、右で メニュー決定、左で前のメニューに戻る。実行は[決定]ボタン。携帯電話などでよく 見かけるインターフェース。 ◎完全なスクロールキー操作タイプ アプリケーションの実行もスクロールキー右押しでできるようにすると、スクロール キーだけで全部の操作が可能になります。 ◎キーボードダイレクト指定方式 メニュー選択を階層型にしないで、直接キーボードに割り当ててしまう方法。一発で メニューが開くのでショートカットとして覚えてしまえばこちらの方が便利。メニュー だけでなく、[A] ならアドレス帳、[S] でスケジュールなどと直接アプリケーション を定義してしまうことも可能。 ◎1行だけ カーソル選択項目をタイトルに表示して、size でタイトル1行分だけにしてしまう。 スクロールキー専用で1行だけの簡易セレクタ。 ●使用条件 プログラム、ドキュメント、付属データなど、これらソフトウエアの著作権は作者で ある小笠原博之が保有しています。このソフトウエアが原因で問題や障害が生じても、 作者は一切保証を行わず、作者に責任も無いものとします。重要なデータはあらかじ めバックアップを取り、利用者の自己責任において使用してください。内容物を改変 したものを無断で配布することを禁止します。利用にあたっては、使い方(説明書)を よく読んでからお使いください。プログラムはフリーソフトウエアです。 ●プログラムについて 当初作りたかったソフトはこれです。その準備として、本体アプリケーションの全検 索方法や、アプリケーション情報の取得手段を調べるために作ったのが AppChecker。 また、常駐ソフトで縦画面描画を実現する方法を調べていて作成したのが DigiClock。 AppChecker のリストを見ながら、このままプログラム実行もできたらなあと思った方 もいらっしゃったのではないでしょうか。 常駐ソフトでの縦ウィンドウの開き方は割とすぐにわかりました。この方法を使えば、 CodeWarrior でも縦ウィンドウを開くことができます。今回のプログラムはフォーム やクラスライブラリをほとんど使っていないので、もしかしたら CodeWarrior でも 作成できたかもしれません。 ●最後に このプログラムの最新版の入手や更新情報はこちらの URL を参照してください。 http://www.vector.co.jp/authors/VA004474/zaurus/zaurus.html C-Index 2001/01/06 1.00 作ってみた 2001/01/10 1.01 option 4 でプログラムが終了しなかった問題修正。 2000/01/11 1.02 終了時の画面の残り修正(1.01でのエンバグ) 2000/05/06 1.03 MI-E1 の Quick 電源 ON/OFF 対応 小笠原博之 oga@art.udn.ne.jp http://www.vector.co.jp/authors/VA004474/