どのアカウントのメールを読んでいるかをNo.04568
teruteru さん 19/01/11 14:11
 
いつもお世話になっております.

複数のアカウントを利用しております.
それぞれのアカウントで似た内容のメールが来るのですが,アカウント毎に対処が違
うので,今読んでいるメールがどのアカウントに届いたものなのかを間違えないよう
にしたいと思っています.

現状,タイトルバーのところにアカウント名が出ていますが,気づかないときも多い
ので,何かわかりやすく設定することはできませんでしょうか.

例えば,
- アカウント毎にメールリストの背景色を変える
みたいなことができればわかりやすいなあと思うのですが.

ちなみに,アカウント間でメールのドラッグ&ドロップをよくするので,アカウント
はすべて展開しています.現在読んでいるフォルダがツリービューのペインで選択状
態になっていますが,これも少しわかりにくいなあと思っています.現在のフォルダ
をもっと目立たせる方法もあれば・・・

その他,今のアカウントを一目瞭然にするために工夫されていることがあればどなた
か教えていただきたいと思います.

よろしくお願いいたします.

[ ]
RE:04568 どのアカウントのメールを読んでNo.04570
秀まるお2 さん 19/01/11 14:49
 
 色分け関係の機能がいろいろあるのでそれらをうまく組み合わせてなんとかする作
戦を試してみて欲しいです。

■フォルダ枠のアイコン変更作成

 まず、フォルダ枠の方で、アカウントやフォルダのアイコンを変える機能がありま
す。

 アカウントのアイコンは「設定 - アカウント毎の設定...」の「個人情報」ページ
の「アイコン」の所で指定できます。標準は赤いアイコンになってますが、これを変
えることで分かりやすくする手があります。

 フォルダのアイコンも、アカウント単位で全部変えてしまう手もあります。「設定
 - フォルダ毎の設定」の中でアイコン指定できます。1つ1つ指定しないといけな
いので面倒ですけども。

■アカウントグループ分け作戦

 アカウントを、目的によってグループ分けするといいかもしれないです。「ファイ
ル - アカウントグループの新規作成」でグループを作成して、マウスでアカウント
をドラッグドロップする形になります。

 例えば会社のアカウントと個人のアカウントを別のグループに分けるとかにした上
で、アカウントグループのみ折りたたみするような設定にすると、常に1つのアカウ
ントグループしか見えなくなって分かりやすくなるかと思います。アカウントグルー
プのみ折りたたみさせるには例外指定を使う必要がありますけども。

■メール一覧枠の色付け作戦

 メール一覧枠でアカウントをもっと分かりやすくする作戦として、To:ヘッダの内
容を列表示させて強調表示させる手があるかと思います。

 「全般的な設定 - メール一覧」の所の「メール一覧への表示項目、並び順」「特
定ヘッダの内容/メール本文」のチェックをONにして、「特定ヘッダの内容」の所にT
o:を指定します。そうするとTo:の内容が常に列で表示されます。そこには普通、ア
カウントと同じメールアドレスが表示されるのでそれでアカウントが分かりやすくな
ります。

 さらに、「全般的な設定 - メール一覧 - 詳細 - もっと詳細1」の所でメール一覧
の強調表示を指定して、ご自身のメールアドレスに色付けするようにしたらいいかと
思います。

 例えば

    (?#c=FF0000;s=n)会社のメールアドレス
    (?#c=00FF00;s=n)個人のメールアドレス

 みたいにすると、会社のメールアドレスは赤い太字、個人のメールアドレスは緑の
太字になります。

> 現在読んでいるフォルダがツリービューのペインで選択状態になっていますが,こ
>れも少しわかりにくいなあと思っています.

 「全般的な設定 - ウィンドウ - カラー」の所で選択文字/選択背景の色指定があ
ります。

 もっと派手に色を変える作戦もあるにはありますが・・・。

 「マクロ - マクロ登録...」の「自動起動」ページに、
 「アカウント切り替え時」って項目があります。そこに何かマクロを登録して、そ
のマクロで、現在選択してるアカウントによってウィンドウの背景色を派手に切り替
えるってことも一応やろうと思えば出来るかなぁとは思います。

 もし必要でしたら適当なサンプルマクロを作ってみたいと思います。

[ ]
RE:04570 どのアカウントのメールを読んでNo.04573
秀まるお2 さん 19/01/11 15:08
 
 1つ間違えました。

>     (?#c=FF0000;s=n)会社のメールアドレス
>     (?#c=00FF00;s=n)個人のメールアドレス

 太字にするなら「s=b」の指定が必要でした。

    (?#c=FF0000;s=b)会社のメールアドレス
    (?#c=00FF00;s=b)個人のメールアドレス

 みたいになります。

[ ]
RE:04570 どのアカウントのメールを読んでNo.04574
teruteru さん 19/01/11 16:10
 
色々な手をありがとうございます!
非アクティブ時の選択中フォルダの色を変えられることさえ気づいておりませんでし
た.これだけでずいぶん見やすくなりました.

最後の,アカウント切り替え時に色を変えるっていうのが僕の理想に近いのですが,
マクロでメールリストの背景色を変える,っていう方法がわかりませんでした.お手
数ですが,サンプルいただけるとありがたいです.

よろしくお願いいたします.

> 色分け関係の機能がいろいろあるのでそれらをうまく組み合わせてなんとかする
>作戦を試してみて欲しいです。
> ......
> もし必要でしたら適当なサンプルマクロを作ってみたいと思います。

[ ]
RE:04574 どのアカウントのメールを読んでNo.04580
秀まるお2 さん 19/01/11 18:08
 
 まず、メニューから色を選んで切り替えるマクロを1つ作ってみました。

--------------色切り替えマクロ------------------------------
    $color[0] = "05000001";     //システム背景色
    $color[1] = "FFD0D000";     //薄赤
    $color[2] = "D0FFD000";     //薄緑
    $color[3] = "FFD0FF00";     //薄紫
    $color[4] = "D0D0FF00";     //薄青
    $color[5] = "D0FFFF00";     //薄水色
    $color[6] = "FFFFD000";     //薄黄色

    menu "背景色の指定:", "標準", "薄赤", "薄緑", "薄紫", "薄青", "薄水色",
"薄黄色";
    if( result <= 1 ) {
        endmacro;
    }
    $color = $color[result-2];
    openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
    writeregbinary "Color", $color, 4, 1;

    loaddll "tkinfo.dll";
    #n = dllfunc("EnvChanged");
--------------色切り替えマクロおわり------------------------

 でもって、アカウント切り替え時に色変更するマクロですが、例えば僕の所だと、

 "斉藤秀夫メイン"
 "hideo@maruo.co.jp"

 ってアカウントと他にいろいろアカウントがあるんですが、"斉藤秀夫メイン"の時
は薄赤、"hideo@maruo.co.jp"の時は薄緑にするとしたら、以下のようなマクロにな
ります。

--------------色切り替えマクロ------------------------------
    $color[0] = "05000001";     //システム背景色
    $color[1] = "FFD0D000";     //薄赤
    $color[2] = "D0FFD000";     //薄緑
    $color[3] = "FFD0FF00";     //薄紫
    $color[4] = "D0D0FF00";     //薄青
    $color[5] = "D0FFFF00";     //薄水色
    $color[6] = "FFFFD000";     //薄黄色

    loaddll "tkinfo.dll";
    #n = dllfunc("SetJapaneseCodePageMode", 1);
    $account = dllfuncstr("CurrentAccount");
    if( $account == "斉藤秀夫メイン" ) {
        $color = $color[1];     //薄赤
    } else if( $account == "hideo@maruo.co.jp" ) {
        $color = $color[2];     //薄緑
    } else {
        $color = $color[0];     //標準
    }

    openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
    writeregbinary "Color", $color, 4, 1;
    #n = dllfunc("EnvChanged");
--------------色切り替えマクロおわり------------------------

 こんなマクロを「マクロ登録 - 自動起動」ページの「アカウント切り替え時」に
登録しておけばいいです。

 マクロの中の値は色の値なのですが、基本的にRGBの値を16進数で表してまして、"
D0"の所を例えば"E0"にするともっと薄い色になります。"C0"くらいにするともっと
濃くなります。

[ ]
RE:04580 どのアカウントのメールを読んでNo.04584
teruteru さん 19/01/11 18:47
 
うごきました!ありがとうございます.
レジストリの値を書き換えるんですね・・.

ただすいません,もうひとつ質問させてください.
これは未読メールをアカウントにまたがって読み進める設定をしていた場合には発火
しないようです.

スペースキーで未読メールを読み進めているときにアカウントが切り替わったら,と
いう条件は可能でしょうか.

# スペースを押すたびに,だったらコマンド置き換えで書けそうですが,
# スペース押すたびにレジストリの読み書きは重そうだなと・・・

> まず、メニューから色を選んで切り替えるマクロを1つ作ってみました。
> ......
> マクロの中の値は色の値なのですが、基本的にRGBの値を16進数で表してまして、
>"D0"の所を例えば"E0"にするともっと薄い色になります。"C0"くらいにするともっ
>と濃くなります。

[ ]
RE:04584 どのアカウントのメールを読んでNo.04586
秀まるお2 さん 19/01/12 18:31
 
 スペースキーで未読メールを読み進めていってアカウントをまたがった場合ですが、
こちらでテストした限りでは、その場合でも「アカウント切り替え時」に指定したマ
クロは動作するようでした。

 動作しないケースがあるとしたらバグだと思うのですが、何か再現条件があるんだ
ろうと思います。

 その条件が分かるといいのですが・・・。

 とりあえず、アカウントの自動折りたたみをOFFにしてテストしてみたんですが、
再現しないです。

 もしかしてエディタ・ウィンドウ上でSpaceキーを押したらってこともテストして
みたんですが、大丈夫そうです。

 とりあえず、自動起動するマクロの先頭に、テスト的に、

    message "自動切り替えマクロテスト";

 とか入れてみて、たしかにマクロが動いて無いことだけ確認いただけますでしょう
か。

 たしかにマクロが動いてないようでしたら、何か他の条件を探してみたいと思いま
す。

[ ]
RE:04586 どのアカウントのメールを読んでNo.04591
teruteru さん 19/01/15 17:33
 
ありがとうございます.
理由がわかりました.今,コマンド置き換えを設定していて,

40042(次の未読ページ)に,
if (dllfunc("IsUnread")){
  #n = dllfunc( "SwitchUnread" );
}
#n = dllfunc("NextUnreadPage");
#n = dllfunc("SelectPane", 1);

みたいなのを(初期設定は省略)

40028(次の未読メール)に,

#n = dllfunc("NextUnread");
#n = dllfunc("SelectPane", 1);

みたいなのを設定していました.
スペースを押した瞬間に未読を既読に変えるためにこういう設定をしてたんですが,
これを使っているとアカウント切り替えが認識されないようです.試しにコマンド置
き換えをしないようにするとアカウント切り替えを認識しました.「次の未読ペー
ジ」はそのままNextUnreadPageだと思うので,動作的にはこちらの置き換え後でもア
カウント切り替えが認識されてもよさそうなのですが,何か問題ありますでしょうか.

> スペースキーで未読メールを読み進めていってアカウントをまたがった場合です
>が、こちらでテストした限りでは、その場合でも「アカウント切り替え時」に指定
>したマクロは動作するようでした。
>
> 動作しないケースがあるとしたらバグだと思うのですが、何か再現条件があるん
>だろうと思います。
>
> その条件が分かるといいのですが・・・。
>
> とりあえず、アカウントの自動折りたたみをOFFにしてテストしてみたんですが、
>再現しないです。
>
> もしかしてエディタ・ウィンドウ上でSpaceキーを押したらってこともテストして
>みたんですが、大丈夫そうです。
>
> とりあえず、自動起動するマクロの先頭に、テスト的に、
>
>    message "自動切り替えマクロテスト";
>
> とか入れてみて、たしかにマクロが動いて無いことだけ確認いただけますでしょ
>うか。
>
> たしかにマクロが動いてないようでしたら、何か他の条件を探してみたいと思い
>ます。

[ ]
RE:04591 どのアカウントのメールを読んでNo.04592
秀まるお2 さん 19/01/15 18:42
 
 理由を調べていただきありがとうございす。

 結論からお返事すると、すみませんがこの場合に自動起動マクロが動かないのは仕
様になってしまいます。

 自動起動マクロは、すみませんがマクロによって起きた事象については実行しない
って仕様があります。一応、ヘルプの「アカウント切り替え時」の説明の中にも、

    「マクロを実行している最中にアカウントが切り替わった場合はここの自動起動
マクロは起動しません。」

 と書いてありました。

 マクロを実行した結果によって別のマクロが自動起動すると、意図した動作と違う
ことが起きる可能性が多々ありまして、あえてそうしています。(他の自動起動マク
ロの類も)

 解決策としては、コマンド置き換えしてるマクロでなんとかしてもらう作戦になり
まして、例えば今回のケースだと、アカウント切り替え時の自動起動マクロが仮に

   MacroAtAccountSwitch.mac

 だとしたら、

■次の未読ページ用マクロ

    loaddll "tkinfo.dll";
    $account = dllfuncstr("CurrentAccount");
    #n = dllfunc("NextUnreadPage");
    #n = dllfunc("SelectPane", 1);
    if( dllfuncstr("CurrentAccount") != $account ) {
        execmacro "MacroAtAccountSwitch.mac";
    }

■次の未読メール用マクロ

    loaddll "tkinfo.dll";
    $account = dllfuncstr("CurrentAccount");
    #n = dllfunc("NextUnread");
    #n = dllfunc("SelectPane", 1);
    if( dllfuncstr("CurrentAccount") != $account ) {
        execmacro "MacroAtAccountSwitch.mac";
    }

 みたいにすれば、一応期待した動作になると思います。

 それでどうでしょうか。

[ ]
RE:04592 どのアカウントのメールを読んでNo.04593
teruteru さん 19/01/15 19:41
 
なるほど,ありがとうございます!
所望の動作になりました.

> 理由を調べていただきありがとうございす。
> ......
> それでどうでしょうか。

[ ]