hakeの日記

Windows環境でプログラミングの勉強をしています。

電源ONでアプリ起動

ネット接続での自動時計合わせの設定をしていて、タイトルのようなことができるのを知り実験してみました。とりあえずカレンダーが高速起動ONしていると「今日」の予定表示をしないので、電源ON(レジューム)時に自動で起動させて「今日」の予定を「日」表示にさせる実験をしてみました。



yaktyさんのLinuZau ToolBox
http://tbox.jpn.org/linuzau/
で公開されているツールから、NetHelperApplet、InputHelperApplet、qcop2を使用します。



まずスクリプト/home/QtPalmtop/bin/datebook_tを作成

#!/bin/sh
echo QPE/System 'execute(QString,QString)' datebook > /var/spool/inputhelper/qcop
/home/QtPalmtop/bin/qcop2 QPE/InputHelper 'mouse(QString)' "click 496 48" "click 528 48"
  • 2行目でカレンダー(datebook)起動
  • 3行目で「今日」アイコンおよび「日」アイコンをクリック、qcopではなくqcop2を使用しているのは2つのペン操作の間隔を短くさせるためです。

このファイルのオーナーとパーミッションを変更

$ su
# cd /home/QtPalmtop/bin
# chown root:qpe datebook_t
# chmod 755 datebook_t
# exit
$ exit

これをNetHelperに登録、具体的には/home/zaurus/Settings/nethelper.confに以下を追加

[Run_Off]
resume00 = /home/QtPalmtop/bin/datebook_t

NetHelperは本来ネットの接続/切断時に指定したスクリプトを実行させるためのものですが、最新版ではサスペンド/レジューム時にもスクリプト実行が可能になりました。上の記述はネットワーク接続していない時にレジュームした際にスクリプトを実行する記述です。



で、実行、電源OFF→ONさせてみます。うん、ちゃんと動きます。実際のところ上の例はCalenderキーの存在や、電源ONから動作開始までの若干の遅延があるので実用性はちょっと微妙かなとも思いますが、他のアプリで操作がもう少し複雑な場合であれば実用になる、、、かもしれません(汗