要望:常駐時のクリック動作ほかNo.45628
タイチ さん 14/01/15 15:34
 
お世話になっております。
いくつか要望がありまして、余裕のある時にご検討頂ければと思います。

1. 常駐時に、トレイアイコンを左クリックしたら本体表示してほしいです。
秀丸ファイラーにはそういう設定があって、トレイアイコンから快適に使えます。こ
れで慣れてしまいました。
また、左クリックも右クリックもほぼ同じメニューが表示されるだけなので、左クリ
ックはシンプルな方がいいと思いました。

2. 同じexeから複数起動したいです。

2-A. 複数起動について、ヘルプに書いてあるように(フォルダ名はヘルプと違います)
C:\temp\exe1\turukame.exe /m0 /d "C:\temp\data1"
C:\temp\exe1\turukame.exe /m1 /d "C:\temp\data2"
とやると、2個目を起動した時に「前回の秀丸メール異常終了」が表示されます。
(秀丸メール6.22β1で動作確認しました)

2-B. 持ち出しキットを使って、2個目のexeを別フォルダにして、
C:\temp\exe2\turukame.exe /m1 /d "C:\temp\data2"
とやると普通に起動します。
こういう使い方をすればいいだけなのですが、同じexeから複数起動できると便利です。
(例えば、一時的に古いメールのバックアップを見たい時とか)

3.
上記のように複数起動して使うと、タスクバー上で本体を区別できないのが難点で、
今は2-Bのように管理してそれぞれ別のアイコンモジュールを割り当てています。
もし同じexeから複数起動できるのであれば、コマンドラインオプションで
アイコンモジュールを切り替えたいです。

要望ばかりで申し訳ありません。不具合とかではないので、いつか反映して頂けると
うれしく思います。
よろしくお願いいたします。

[ ]
RE:45628 要望:常駐時のクリック動作ほかNo.45629
秀まるお2 さん 14/01/15 19:29
 
> 1. 常駐時に、トレイアイコンを左クリックしたら本体表示してほしいです。

 トレイアイコン関係のオプションは、「全般的な設定・上級者向け・その他」
の所にあるのですが、では、トレイアイコン関係のオプションだけでどこか専用
ページを用意して、そこにオプション追加させていただきます。

> C:\temp\exe1\turukame.exe /m0 /d "C:\temp\data1"
> C:\temp\exe1\turukame.exe /m1 /d "C:\temp\data2"
> とやると、2個目を起動した時に「前回の秀丸メール異常終了」が表示されます。

 このエラーが出る直接の原因は、レジストリの中に書き込んでいる「秀丸
メールが落ちたかどうか」の情報な訳になると思います。

 簡単なテストでは再現しないのですが、そのレジストリ関係ということでなら、
例えば添付ファイル保存のダイアログボックスを出してる最中にもう1つ秀丸
メールを起動すると現象が確認出来ます。

 とりあえず、そういうケースについて、エラーが出ないようになんとかうまく
修正させていただきます。

> 3.
> 上記のように複数起動して使うと、タスクバー上で本体を区別できないのが難点で、
> 今は2-Bのように管理してそれぞれ別のアイコンモジュールを割り当てています。
> もし同じexeから複数起動できるのであれば、コマンドラインオプションで
> アイコンモジュールを切り替えたいです。

 複数起動しても設定は共通になってしまうので、それでいろいろ矛盾が起きる
形になってしまうのかと思います。

 コマンドラインでなんとかするとしたら、例えば/xオプションでマクロ名を指
定して、それで設定の書き換え&EnvChanged関数呼び出しする作戦がありますが、
それではダメでしょうか。

 例えば、

    openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
    writeregstr "IconFile", "e:\\hidemailhome\\BigF.tkm";
    closereg;
    loaddll "tkinfo.dll";
    #n = dllfunc("SetAutoPushTimerMilli", 1, "cancel");
    #n = dllfunc("EnvChanged");
    #n = dllfunc("StopAutoPushTimer");
    endmacro;

 のようなマクロでアイコンモジュールの切り替えが出来ます。

 それか、持ち出しキットを使えばそれぞれのexeファイル毎に設定が独立する
ので、持ち出しキットをいくつも作って使う作戦もいいんじゃないかと思います。


 それか、しいてなんとかするとしたら、秀丸メールのタイトルバーの「秀丸
メール」と出てくる部分を、例えば

 秀丸メール(1)

 秀丸メール(2)

 のように出すとかなら可能かと思います。そんなので良ければ対応してもいい
です。

[ ]
RE:45629 要望:常駐時のクリック動作ほかNo.45631
タイチ さん 14/01/15 21:49
 
丁寧な回答ありがとうございました。

> トレイアイコン関係のオプションは、「全般的な設定・上級者向け・その他」
>の所にあるのですが、では、トレイアイコン関係のオプションだけでどこか専用
>ページを用意して、そこにオプション追加させていただきます。

ありがとうございます。お願いします。

>> C:\temp\exe1\turukame.exe /m0 /d "C:\temp\data1"
>> C:\temp\exe1\turukame.exe /m1 /d "C:\temp\data2"
>> とやると、2個目を起動した時に「前回の秀丸メール異常終了」が表示されます。

> 簡単なテストでは再現しないのですが、そのレジストリ関係ということでなら、

再現しないのであれば、対応は待って頂ければと思います。
もう少しいろいろな条件で再現性について調べてみます。

>> もし同じexeから複数起動できるのであれば、コマンドラインオプションで
>> アイコンモジュールを切り替えたいです。

> コマンドラインでなんとかするとしたら、例えば/xオプションでマクロ名を指
>定して、それで設定の書き換え&EnvChanged関数呼び出しする作戦がありますが、
>それではダメでしょうか。

マクロありがとうございました。
この件は、とりあえず提示して頂いたマクロを試してみます。
使ってみて不都合が出てきた場合は持ち出しキット作戦にします。

以上、どうもありがとうございました。

[ ]
RE:45631 要望:常駐時のクリック動作ほかNo.45634
秀まるお2 さん 14/01/16 08:50
 
> 再現しないのであれば、対応は待って頂ければと思います。
> もう少しいろいろな条件で再現性について調べてみます。

 一応、再現しないといいつつも発生原因の根本部分は分かるので、直せます。

 とりあえず添付ファイルの「名前を付けて保存」で再現するのでそれで動作確
認も可能です。

 ということで直します。

[ ]
RE:45634 要望:常駐時のクリック動作ほかNo.45667
タイチ さん 14/01/20 23:39
 
V6.22正式版で要望を反映して頂き、ありがとうございました。
こちらの環境でも複数起動時のエラーメッセージは表示されなくなりました。

アイコンモジュールのマクロも順調に動いているのですが、マクロ実行にからんで別
の現象に気付きました。

マクロ登録→自動起動→秀丸メール起動時、に登録してあるマクロが消えてしまうこ
とがあります。
・秀丸メールは、関連レジストリをクリアした状態で入れて、コマンドラインオプシ
ョンなしで実行しています。
・マクロフォルダは、自分でC:\...\macroフォルダを作って指定してあります。
・自動起動のマクロは以下の2行です。
message "test";
endmacro;

これを起動するとメッセージが表示されて、2〜3回起動すると表示されなくなります。
またこちらの環境の問題かもしれませんが、一応再現するのを確認したので、ご報告
させて頂きました。
(とりあえずこの件で困っているとかではありません)
よろしくお願いいたします。

[ ]
RE:45667 要望:常駐時のクリック動作ほかNo.45670
タイチ さん 14/01/21 09:00
 
自動起動のマクロが消えてしまう件について、アカウントが無い時だけ発生すること
が分かりました。
そのような使い方はありえないので、この投稿は無かったことにしてください。

わずらわしいユーザーで本当にすみません。

[ ]
RE:45670 要望:常駐時のクリック動作ほかNo.45672
秀まるお2 さん 14/01/21 10:26
 
 アカウントが無い場合に限ってだとしても、自動起動のマクロが消えてしまう
のはバグのような気がします。

 とりあえずテストしてみます。

[ ]
RE:45672 要望:常駐時のクリック動作ほかNo.45673
秀まるお2 さん 14/01/21 11:32
 
 簡単に再現できました。

 たしかにアカウントが1つあれば大丈夫なので、緊急性のあるバグではなさそ
うです。

 修正させていただきます。

[ ]
RE:45667 要望:常駐時のクリック動作ほかNo.45676
タイチ さん 14/01/21 15:35
 

このツリーを伸ばしてよいのかどうか悩みましたが、投稿します。
turukame.exe /m0 /d "C:\temp\data1"
turukame.exe /m1 /d "C:\temp\data2"
↑これでメッセージが表示されることはなくなったのですが、マクロを組み合わせる
とうまく行きませんでした。

turukame.exe /m0 /d "C:\temp\data1" /x test.mac
turukame.exe /m1 /d "C:\temp\data2" /x test.mac
↑これだと、2つ目が閲覧モードになります。

それで、自動起動マクロに設定してみたところ、2つ目で
「指定されたホームディレクトリは、書き込みアクセスが許可されていないか…(略)
…閲覧モードで開きますか?」
というメッセージが表示されます。

test.macの内容は下の4行です。
loaddll "tkinfo.dll";
#n = dllfunc("SetAutoPushTimerMilli", 1, "cancel");
#n = dllfunc("EnvChanged");
#n = dllfunc("StopAutoPushTimer");

test.macを、message "test"; にすると問題ないので、この4行が複数起動と相性悪
いような気がします。

アカウントが無い状態だと割とうまく行っていて、昨日の投稿の段階ではこの件に気
付いていませんでした。
試すならシンプルな状況が一番と思ったのですが、間違った報告をしてしまい、申し
訳ありません。

ご確認のほど、よろしくお願いいたします…。

[ ]
RE:45676 要望:常駐時のクリック動作ほかNo.45678
秀まるお2 さん 14/01/21 17:56
 
 毎度お手数かけてすみません。

 動作確認はしてないのですが、エラーが出る原因は、EnvChanged関数呼び出し
のせいになります。

 秀丸メールは「/m1」と「/d」オプションで起動されると、レジストリにある
「ホームディレクトリ」の設定を無視してコマンドラインで指定されたフォルダ
をホームディレクトリにセットします。しかし、EnvChanged関数を呼び出すと、
レジストリに書き込まれてるホームディレクトリの設定を読み込み直ししてしま
うので、それでホームディレクトリが移動してしまうようです。

 これを回避するためには、EnvChanged関数を呼び出す処理を、例えば

    loaddll "tkinfo.dll";
    $homedir = dllfunc("HomeDir");
    openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
    writeregstr "HomeDir", $homedir;
    closereg;
    #n = dllfunc("EnvChanged");
    #n = dllfunc("SetAutoPushTimerMilli", 1, "cancel");
    #n = dllfunc("EnvChanged");
    #n = dllfunc("StopAutoPushTimer");

 のようにして回避していただくしか無いような気がします。

 「/m1」とかのオプションで秀丸メールを複数起動したとしても、レジストリ
は1つしか無くて、それをすべての秀丸メールプロセスが共有してしまってるの
で、上記のようにして回避していただくしか無いような気がします。

 上記のようなマクロで回避するにしても、複数の秀丸メールをまったく同時に
起動してしまうとレジストリの書き換えがバッティングしてうまく動作しないっ
て問題もあったりします。

 それ以上は、もはや設定を各プロセス毎に独立させるために、持ち出しキット
を使うしか無いと思います。かなり無理して複数プロセス起動してるので、すみ
ませんがそういうことで(マクロを上記のように書き換えるか持ち出しキットか
かで)使って欲しいです。

[ ]
RE:45678 要望:常駐時のクリック動作ほかNo.45680
タイチ さん 14/01/21 19:02
 
回答ありがとうございます。

実際に試してみたところ、ホームディレクトリをレジストリに書いてからEnvChanged
する方法で、正しく動作しているように見えます。
(提示されたサンプルでEnvChangedが2つ書かれているうち、1つめはコピペミスです
よね?)

いろいろ試す過程で、複数起動と設定の保存場所が1つであることの難しさを何とな
く理解はしていました。
これでもう大丈夫のような気がしますが、想定外の問題が起きたら、複数の持ち出し
キット作戦に移行したいと思います。

とりあえず今回の要望はすべて解決しました。
他の需要のない、個人的なカスタマイズのようなことに最後までお付き合い頂き、感
謝しています。
どうもありがとうございました。

[ ]
RE:45680 要望:常駐時のクリック動作ほかNo.45682
秀まるお2 さん 14/01/22 13:31
 
 EnvChangedが2つあるのは、おっしゃる通りコピペミスでした。失礼しました。

[ ]