September 11, 2007

WkTASK version 0.9.5.2リリース

編集

ダウンロードはこちら

今回のバージョンはバグフィクスがメインですが、これでタスク管理ソフトとしてはほぼ完結したと思います。機能追加したのはver.0.9.5.0で実装した回線接続機能に切断を加えたことのみです。一つのメニューでトグルするようにしたかったので名称は「回線接続/切断」になりました。
実はこの機能、最初から付ける予定でしたが、Windows Mobileから採用された接続用のAPI、Connection Managerのバグで回線切断のConnMgrReleaseConnectionが上手く動かない場合があり見合わせていました。
そこで調べてみたところ、

ConnectionManager で確実に切断する (inside of 伊勢的新常識

というのを見つけました。この方式によると、ConnMgrの前に使われていたRAS APIを使って切断した後、ConnMgrで切断情報をアップデートするというものです。今回はこれを使って切断機能を実装しました。ただ、RASで切断後即ConnMgrを呼び出しているので、ひょっとしたらタイミングによっては更新されないこともあるかもしれません。そのような状況が発生するようであれば対処しますので報告お願いします。

投稿者 waku : 07-09-11 19:05 | 自作ソフト , WkTASK

トラックバック

このエントリーのトラックバックURL:
http://www.photoracer.net/mt/mt-tb.cgi/421

コメント

Commented by 通りすがり : 2007年09月12日 00:12

タスク管理と絡めて、個別指定したアプリが最前面に来たときに予め指定した輝度になるというような機能があると、WkTASKに輝度機能が内蔵されている意味がでてくる気がしますがいかがでしょうか。(メーラは太陽の下で見ることがあるので輝度最大にしておくなど)

Commented by waku [TypeKey Profile Page] : 2007年09月12日 01:15

>通りすがりさん
ご意見ありがとうございます。
なるほど、それは便利な機能かもしれません。
近々音量調整機能も実装予定ですので、そちらも個別に調整できるとなお良いですね。

Commented by 通りすがり : 2007年09月12日 06:19

ご検討いただけるようで、ありがとうございます。ただ、輝度は個別指定アプリが最前面のときに指定値、最小化し他の個別指定アプリが最前面にこなかった時はデフォルト値に戻るような動きになると思います。音量調整の場合は、たとえば音楽を聴きながらネット徘徊するなど、必ずしも最前面で動作するのが良いとはいえないシーンがあると思われます。(最小化でもキープするような指定も必要?など。)ただ、タスク管理と絡めて自動的に、かつ個別に指定できるというのは、使い方(指定の仕方)次第で面白い気がします。なんとなくですが。

Commented by えだひろし [TypeKey Profile Page] : 2007年09月12日 10:27

WkTASK version 0.9.4.2を使っていて、しばらくは問題なかったのですが、昨日から、常にタスクリストの表示が大きく右にずれてしまい、クローズボタンにかぶるようになってしまいました。
version 0.9.5.2にも入れ替えたり、リセットをかけてても見ましたが、状態は変わりません。
何かとりあえず試してみれことはないでしょうか?

Commented by 無印バカ : 2007年09月12日 10:51

こんにちは、機能も増えどんどん便利になって来て、完全に定番アプリとなりましたね。
いつも本当にご苦労様です。
さて2chスレで触れておられましたが、ランチャ機能の実装を考えられているとの事ですが、一つ要望があります。
折角タスクバーを乗っ取っているので、田ミをWindowsPCのスタートメニューと同等機能にするのはいかがでしょうか?
プログラムの追加方法も「\Windows\スタート メニュー」をそのまま展開するようにすれば、PCユーザの多いPPCにもなじみやすい気がします。

Commented by えだひろし [TypeKey Profile Page] : 2007年09月12日 10:54

すみません。自己解決しました。
とてもありがたく使わせて頂いています。

Commented by いわ : 2007年09月12日 17:07

クラス名、ウインドウタイトルだけでなくプロセス名(実行ファイル名)でも固有設定ができるようになると嬉しいです。理由としては、例えばEBPocketだとクラス名(afx:???)が起動毎に変わり、かつ使用している辞書の名前がウインドウタイトルになる為です。

Commented by waku [TypeKey Profile Page] : 2007年09月12日 17:44

>通りすがりさん
確かに音楽を聴いている場合、タスクを切り替える度に音量が変化するのは良くないですね。とりあえずバックライト輝度だけ連動させるようにしてみます。

>えだひろしさん
その質問は結構多いので、UIが悪いのだと思います。
いずれもっといい調整法に改良していきたいです。
一応配布ページにFAQを書いてみました。

Commented by waku [TypeKey Profile Page] : 2007年09月12日 17:54

>無印さん
ありがとうございます。
Windowsボタンでランチャ表示というのは、GSPocketMagicやInfobar 2など結構ありますね。
全てのプログラムをメニューに展開するとなると、メモリ消費量や表示速度に大きく影響を及ぼします。Infobar 2を使ってみてください。最初の表示に数秒かかります。また総使用メモリは1MB以上あります。例えランチャーだけ遅くて他は早くても、初めて使ったときに「WkTASK遅いな」と一瞬でも思われてしまったら負けだと思ってます。
そういう理由から、必要なソフトだけランチャー登録した方が良いと考えています。

Commented by waku [TypeKey Profile Page] : 2007年09月12日 17:58

>いわさん
プログラムのファイル名を調べて固有設定に使用することは可能ですが、EBPocketに限って言えば辞書名毎に固有設定を行ってはどうでしょうか?
他にも同様なソフトが沢山あるのであれば実装を考えたいのですが、固有設定チェックは一番頻繁に呼び出される部分だけにできればパラメータを増やしたくないのです。

Commented by 零 : 2007年09月12日 19:08

タスク毎の変化の話が出てるんで便乗して一つ。
切り替えができる文字種の種類とタスク起動時の初期種がタスク毎の設定変えられたらなと。
レジストリの変化監視が増えてしまうのでその影響が微妙ですが。
実装法を考えてたんですが結局アクティブタスクのチェックが要るので
同じようなことを幾つもやりたくないなと棚上げにしてたんですが。
輝度もそうですが純粋にタスク管理だけが欲しい人には批判がありそうですけどね。

Commented by waku [TypeKey Profile Page] : 2007年09月12日 21:12

>零さん
ご意見ありがとうございます。
「切り替えができる文字種の種類とタスク起動時の初期種」の意味が理解できないのですが、詳しく説明していただけませんか?ウインドウタイトルの文字種ということでしょうか?

Commented by いわ : 2007年09月12日 21:18

レスどうもありがとうございます。現状は辞書毎にやっているのですが、辞書を一杯入れている(15個位)関係&串刺し検索(辞書グループを一括して検索)というオプションをつけると、辞書名(ウインドウタイトル)に*マークがつくので、その分も含めて固有設定が30個以上あるので、まとめられないかと思って要望を出させていただきました。同様なソフトが沢山あるかは分からないのですが、私が使っているソフトでいうと、あとはPocketMappleが現状のクラス名もしくはウインドウタイトルの指定だとアクティブしてもWKTaskのタスク部のボタンがへこまない時があったりと、ちょっと変な動作をします。以前他の方がSortInchKeyの作者の方のブログのコメント欄(http://d.hatena.ne.jp/xianon/20070323)でPocketMappleの動作について書かれていましたので、こちらをご覧になっていただければと思います。両ソフトとも特殊な事例かつ私の運用が特殊なのだとは思いますが、実装をご検討いただけましたらば幸いです。

Commented by 零 : 2007年09月13日 11:21

判りづらい書き方で申し訳ありません。
要はWithATOKのタスク個別対応版な感じです。
文字キーを押したときに切り替えられる文字種をタスク毎に変えられるように出来たらと思っています。
もう一つは通常タスク起動時には全角ひらがなになりますが、Operaのようなテンキーオペレーションがあるアプリだと半角数字に切り替えるのが面倒なので、起動時点でどの文字種にするかを設定できたらいいなと。
実際には恐らくStatus22を監視しているんじゃないかと思いますが。

Commented by のせ : 2007年09月14日 11:44

いつも、便利に使用しています
回線切断まで実装されて言うことなしです
が、もういってんアクションメニューにwifiのonn・off機能は追加できないでしょうか?
ご検討いただけたら幸いです。

Commented by waku [TypeKey Profile Page] : 2007年09月14日 13:37

>いわさん
そうですか。30個以上も指定するとなると確かに大変ですね。対応を検討してみます。
PocketMappleはいくつか子ウインドウがあるんですね。こちらもインストールして検証しますね。

>零さん
文字種の意味を把握しました。確かにOperaだと半角に切り替えるのは面倒ですね。
零さんが仰るとおりStatus22を監視すれば可能ですが、WithATOKのように細かなパラメータを持つ必要があり、判定もやや複雑、またes、adesのATOKでしか動作しないということからWkTASKではなく別のソフトとして作成した方がいいかと思います。
Opera専用で初期文字種を数字に変えるだけであれば、前面ウインドウハンドルの変化を感知してクラス名を調べ、OpWindowであればStatus22を書き換えるといった方法で容易に作れるはずです。

Commented by waku [TypeKey Profile Page] : 2007年09月14日 13:41

>のせさん
WifiのOn/Offはハードウェア依存性が高く、例えば同じW-ZERO3シリーズでも初代とアドエスでは設定方法が異なり、更にアドエスだけでもファームウェアのバージョンで異なります。そのため、Wifi機能はWifiinfoなどの別アプリに任せた方が良いかと思います。

Commented by 零 : 2007年09月14日 18:08

確かにその通りですね。余りに特化しすぎかもしれません。
やはりアクティブのチェックは前面ウインドウハンドルをループで取得なんですね。これを多重に行うことでどれだけ負荷があるかが気になるところですが、暇を見つけて試してみようと思います。
しいて汎用化するのであればアクティブタスク変化時に他アプリを呼び出せるようにするという形程度でしょうか?これであれば個別アプリごとに何かやりたいときに色々とやりやすくなるような気がします。
Wifiに関してはランチャのようにしてwifictrl等を各自呼べるようにすれば良いのではないかと思います。回線も同様で構わないと思いますがそちらは既に入ってますからあまり関係ないですね。

Commented by 甘S : 2007年09月14日 22:21

精力的なアップグレードに敬服&感謝(一ユーザーとして)です。
さていきなりで恐縮ですが、タスクリストの幅が変わってしまう現象を発見したので、一応ご報告させていただきます。
私はバッテリ表示が丁度隠れる180に設定しているのですが、気が付くとリストが縮んでバッテリアイコンが半分出ていたり、逆に伸びてアンテナピクトが半分隠れていたりします。確信は無いのですが、一晩放置してその間にメールを受信していた場合などに、発生するような気がします。
以上ご報告まで。
今後も素晴らしい作品を作り続けて下さいね。

Commented by waku [TypeKey Profile Page] : 2007年09月14日 23:24

>零さん
そうですね。単純に500ms程度の間隔でアクティブウインドウの変化を確認するだけならほとんど負荷はかかりません。
一方、アクティブウインドウ変化時に他のアプリの呼び出しは、OSにとってかなり負荷のかかる仕事だと思います。プロセスが生成されてDLLを読み込んでという手順を毎回行うわけですから。タスク管理ソフトの枠を離れて全部入りの別バージョンを作ってもいいかもしれませんね。

Commented by waku [TypeKey Profile Page] : 2007年09月14日 23:36

>甘Sさん
恐らくその現象は、時刻の変化に合わせてタスクリストの幅を調整していることから発生していると考えられます。
通常WMでは時刻が0〜9時と10〜23時の時で右上の時計部の幅が変わり、それに応じてアイコンの位置がずれるため、WkTASKでは自動的に時刻に合わせて幅を調整するようにしています。
しかし、レジストリをいじったり、地域の設定で時刻を"HH:mm:ss"や"tt h:mm:ss"などにして時刻の幅が変わらないようにした場合、アイコンの位置が変化しないため、タスクリストが動かないようにする必要があります。
「環境設定」→「全般」の「時刻に合わせて幅を調整しない」にチェックを入れると動かなくなるはずです。

Commented by 甘S : 2007年09月15日 00:40

>wakuさん
早速のレスポンスありがとうございます。WkTASKのUIのように分かりやすい解説に目から鱗です。
ピクト表示部の幅が変化したらそれを検出して調整、という事ではなく、変化する筈の時間とその量を予めデータとして持っておき、あとはチェックの有無で調整するかどうかを決めていたというわけですね。
プログラムの事などさっぱりな門外漢とは言え、勝手な思い込みで仕様通りの動作にケチを付けるような真似をしてしまいました。どうかご容赦下さいませ。

次回から入力を省略しますか?