要望:フォルダの位置No.12031
きびん さん 03/03/25 10:51
 
環境:2.57 WinMe,98

2.5以降のアカウント直下のフォルダですが、
現状では

□受信
□未送信
□送信済み
□フォルダ
 □フォルダ
 □フォルダ
□フォルダ
□ゴミ箱

となっていて、
任意のフォルダは送信済みとゴミ箱のあいだにしか置けないようです。

これをたとえば、

□受信
□フォルダ
 □フォルダ
 □フォルダ
□フォルダ
□未送信
□送信済み
□ゴミ箱

とか、

□受信
□未送信
□送信済み
□ゴミ箱
□フォルダ
 □フォルダ
 □フォルダ
□フォルダ

のように、自由に動かせるようにはできないものでしょうか。

2.49までは、

□受信
 □フォルダ
  □フォルダ
  □フォルダ
 □フォルダ
□未送信
□送信済み
□ゴミ箱

だったので、
未送信、送信済みが上がってきた違和感がどうしてもあります。

[ ]
RE:12031 要望:フォルダの位置No.12042
秀まるお2 さん 03/03/25 18:49
 
 他のメールソフトでそういうことが出来る物がありませんでした。なので鶴亀
メールとしても対応しなくて十分と考えました。

 同じような要望が多数寄せられるようでしたら、対応方法など考えて出来ない
こともありませんけど。

[ ]
RE:12042 要望:フォルダの位置No.12054
アルビレオ さん 03/03/25 23:07
 
アルビレオです。

> 他のメールソフトでそういうことが出来る物がありませんでした。なので鶴亀
>メールとしても対応しなくて十分と考えました。
>
> 同じような要望が多数寄せられるようでしたら、対応方法など考えて出来ない
>こともありませんけど。

私自身はアカウント直下にフォルダを置いてないのでどうでもいいのですが、
ユーザーとしては「受信フォルダとアカウント直下フォルダは通常フォルダ、そ
れ以外は特殊フォルダ」のように扱うと思われるので受信フォルダに隣接した場
所に置いてあれば任意の位置に置けなくても納得すると思われます。
位置は固定でもいいのでアカウント直下のフォルダは「受信」より上か「受信」
の直後に置いた方が喜ばれるのではないでしょうか。

[ ]
RE:12054 要望:フォルダの位置No.12055
秀まるお2 さん 03/03/25 23:34
 
>位置は固定でもいいのでアカウント直下のフォルダは「受信」より上か「受信」
>の直後に置いた方が喜ばれるのではないでしょうか。

 他のメールソフトをいくつか調べた限りは、みな「ゴミ箱」の下でした。

 せめてゴミ箱よりは上の方がいいと思って鶴亀メールでは上にしましたけど…。

 他のメールソフトではみなそうだということは、つまり、みなそれで満足して
て、文句一つ言わないということで、特に鶴亀メールに限って要望が出てくるは
ずも無いような気がします。そもそも、メジャーなメールソフトでも、未だにフ
ォルダがABC順でしから並べ替えできな物もあるし…。

 とにかく、実際の要望次第の話となります。

[ ]
RE:12055 要望:フォルダの位置No.12057
SBNB さん 03/03/25 23:58
 
実は私もフォルダの順番を替えたいと思ったことがあります。行き来するフォルダに
は(おそらくくせで)順番もある感じがします。私個人としてはごみ箱フォルダと草稿
フォルダをもっと受信近くにしたいです。

現在は草稿へ移動するマクロを作ってツールバーに入れることで対処しているので特
に草稿フォルダなどを移動したいとは思わなくなりました。

もしかするとマクロをうまく使うことで、行き来に不自由しなくなれば特に仕様変更
する必要がないのかもしれません。

一方で、長期的には最初に使い始めた方が使いやすいインターフェースにしていただ
くと、とっつきやすさとしてはいいかもしれません。

#なんと、受信フォルダ配下だけでなくてアカウント配下にもフォルダを作れること
を初めて知りました。

[ ]
RE:12057 要望:フォルダの位置No.12067
ひろ さん 03/03/26 12:04
 
 SBNB さん今日は、ひろです。
> もしかするとマクロをうまく使うことで、行き来に不自由しなくなれば特に仕様変更
> する必要がないのかもしれません。
 私は全てのフォルダはアルファベットだけにしています。こうすると、「全
般的な設定」→「基本」→「詳細」→「もっと詳細」の「鶴亀メール本体ウィ
ンドウがアクティブになった時、自動的にかな漢字変換をOFFにする」にして
おけば、[Esc], [Esc], [Esc] (これは確実にフォルダエリアをアクティブに
するだけ) とし、フォルダ名の先頭文字をタイプしています。
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 下線部は「マイコンピュータ」のファイル/フォルダ選択も同様なので、オ
ブジェクトが多いときに便利です。

 私はフォルダの位置よりも、スレッドが切れるのが嫌で、「振り分け」を利
用して「送信済みメール」全て「受信」に移動しているので、「送信済み」
フォルダの存在意義が何もない(^^)、という事が気になっています。「草稿」
等のように、設定で消すことが出来ればよいのですが、設定ダイアログはス
ペース的に苦しいですもんね。

[ ]
RE:12067 要望:フォルダの位置No.12080
SBNB さん 03/03/26 22:32
 
ひろさん今日は、SBNBです。

> 私は全てのフォルダはアルファベットだけにしています。
 なるほど、鶴亀でもその手がありましたか。なかなか便利な方法ですね。おそらく
フォルダ名のはじめの1文字だけでもやって置けば便利なのだと思います。

> 私はフォルダの位置よりも、スレッドが切れるのが嫌で、「振り分け」
私も切れないほうがいいですが今のところスレッド表示は一切無しで何とかやってい
けています。私もそのようにしようかなと思ったりします。


>設定ダイアログはスペース的に苦しいですもんね。
確かに苦しそうで、いつも作者様の嘆き?が聞こえているような気がします。ただ、
作者様には悪いですが、要望するほうとしては気にしないでお願いしてもよいのでは
ないかと思います。

それで、はじめの投稿者のきびんさんは代替案ですむのかな。。。

[ ]
RE:12055 要望:フォルダの位置No.12102
まいふぇろう さん 03/03/27 19:24
 
>  他のメールソフトをいくつか調べた限りは、みな「ゴミ箱」の下でした。

私は、今までの習慣上、ごみ箱が上の方が好みです。
つまり、受信、未送信、送信済み、草稿、ゴミ箱と標準で用意され
ているフォルダはまとまっている方が、なんとなく落ち着きます。

私の場合、日常的にメールの移動や閲覧が頻繁なフォルダは受信配
下、その他(メーリングリストとか、メルマガとか、たんなる保管
用)はゴミ箱の下に置きたいです。ゴミ箱って、振分けでゴミ箱直
行したものを一日一回ほどざくっと見回しますので、一番下で、し
かもスクロールしなければ見えないほど下に行ってしまうとちょっ
とつらいかな、と。

もうひとつ要望するとすれば、
「現在のフォルダ開閉状態を記憶」機能です。鶴亀を立ち上げた場
合、いつも同じ(自分のデフォルト)開閉状態に戻って欲しいです。

↑ただしこれは、EdMaxのパクリになってしまいますね。

[ ]
RE:12102 要望:フォルダの位置No.12108
秀まるお2 さん 03/03/28 09:01
 
 フォルダの展開/折りたたみ状態は、account.binに記録されているので、例
えば鶴亀メール起動の直前に、バックアップしておいたaccount.binを鶴亀用ア
カウント配下にコピーするようなバッチファイルを作れば実現は可能です。

[ ]
RE:12102 要望:フォルダの位置No.12111
たまがわ さん 03/03/28 10:24
 
 「現在のフォルダ開閉状態を記録」するマクロと、その記録した「開閉状態を再
現」するマクロを一つ例示します。再現するマクロを起動時自動実行にしておけば、
毎回同じ状態になると思います(ちょっと時間はかかりますね)。
 全般的な設定−フォルダ−マルチアカウントを「複数アカウントのフォルダを同時
に展開できるようにする」にしておく必要があります。

(秀まるおさんご示唆の account.bin は利用してないです(バッチでは使えそうで
  すが、マクロで使うのはちょっと無理かな))


// 現在のフォルダの開閉状態を記録するマクロ
// GetFolderStatus.mac
//
$ini = macrodir + "\\FOLDERS.INI";
$key = "Folders";
loaddll "TKinfo.dll";
#n = dllfunc("DisableDraw", 1);
writeinistr $ini, $key, 0, 0;
$account = dllfuncstr("CurrentAccount");
$folder = dllfuncstr("CurrentFolder");
writeinistr $ini, $key, "account", $account;
writeinistr $ini, $key, "folder", $folder;
#i = 0;
#n = dllfunc("SelectFolder", dllfuncstr("Account", 0), "");
$a = dllfuncstr("CurrentAccount");
$f = dllfuncstr("CurrentFolder");
while ($a != "") {
        #p = dllfunc("GetFolderExpandState", $a, $f);
        writeinistr $ini, $key, str(#i), $a;
        writeinistr $ini, $key, str(#i+1), $f;
        writeininum $ini, $key, str(#i+2), #p;
        #i = #i + 3;
        $s = dllfuncstr("GetNextFolder", $a, $f);
        #x = strstr( $s, "\\");
        if (#x >= 0) {
                $a = leftstr($s, #x);
                $f = midstr($s, #x + 1, 256);
        } else {
                $a = $s;
                $f = "";
        }
}
writeininum $ini, $key, "number", #i - 1;
#n = dllfunc("SelectFolder", $account, $folder);
#n = dllfunc("EnableDraw");



// フォルダの開閉状態を再現するマクロ
// SetFolderStatus.mac
//
$ini = macrodir + "\\FOLDERS.INI";
$key = "Folders";
loaddll "TKinfo.dll";
#n = dllfunc("DisableDraw", 1);
#i = getininum($ini, $key, "number");
while (#i > 0) {
        $a = getinistr($ini, $key, str(#i - 2));
        $f = getinistr($ini, $key, str(#i - 1));
        #p = getininum($ini, $key, str(#i));
        #n = dllfunc("SelectFolder", $a, $f);
        if (#p < 2) #n = dllfunc("ExpandFolder", #p);
        #i = #i - 3;
}
$account = getinistr($ini, $key, "account");
$folder = getinistr($ini, $key, "folder");
#n = dllfunc("SelectFolder", $account, $folder);
#n = dllfunc("EnableDraw");

[ ]
RE:12111 要望:フォルダの位置No.12123
まいふぇろう さん 03/03/28 17:15
 
バッチファイルは抵抗がありましたもので、たまがわさんのマクロ
を使ってみました。
正しく動いているようです。しかし、私のマシンではスピードが難
点ですねぇ...

自動起動に入れるのは保留するとして、とりあえず登録して使わせ
ていただきます。
情報ありがとうございました。いつも本当にお世話になっておりま
す。

[ ]
RE:12123 要望:フォルダの位置No.12128
まっちん さん 03/03/28 18:50
 

まいふぇろう さん、たまがわ さん。こんばんは。

>バッチファイルは抵抗がありましたもので、たまがわさんのマクロ
>を使ってみました。
>正しく動いているようです。しかし、私のマシンではスピードが難
>点ですねぇ...

以下のように修正すれば多少早くなりませんか?
私の使用状況ですと、あまりテストにならないのですが。



// 現在のフォルダの開閉状態を記録するマクロ
// GetFolderStatus.mac
//
$ini = macrodir + "\\FOLDERS.INI";
$key = "Folders";
loaddll "TKinfo.dll";
#n = dllfunc("DisableDraw", 1);
writeinistr $ini, $key, 0, 0;
$account = dllfuncstr("CurrentAccount");
$folder = dllfuncstr("CurrentFolder");
writeinistr $ini, $key, "account", $account;
writeinistr $ini, $key, "folder", $folder;
#i = 0;
#n = dllfunc("SelectFolder", dllfuncstr("Account", 0), "");
$a = dllfuncstr("CurrentAccount");
$f = dllfuncstr("CurrentFolder");
$last_closed_f = "";
while ($a != "") {
#x = strstr($f, $last_closed_f);
if (#x <= 0){  // 閉じたフォルダの下は調べない
        #p = dllfunc("GetFolderExpandState", $a, $f);
        if (#p == 0){
        $last_closed_f = $f;
        }
        if (#p != 2){  // 末端のフォルダは書かない
        writeinistr $ini, $key, str(#i), $a;
        writeinistr $ini, $key, str(#i+1), $f;
        writeininum $ini, $key, str(#i+2), #p;
        #i = #i + 3;
        }
        }
        $s = dllfuncstr("GetNextFolder", $a, $f);
        #x = strstr( $s, "\\");
        if (#x >= 0) {
                $a = leftstr($s, #x);
                $f = midstr($s, #x + 1, 256);
        } else {  // 次のアカウント
                $a = $s;
                $f = "";
                $last_closed_f = "";
        }
}
writeininum $ini, $key, "number", #i - 1;
#n = dllfunc("SelectFolder", $account, $folder);
#n = dllfunc("EnableDraw");

[ ]
RE:12128 要望:フォルダの位置No.12130
たまがわ さん 03/03/28 20:29
 

まいふぇろうさん、まっちんさん、こんばんは。

> >バッチファイルは抵抗がありましたもので、たまがわさんのマクロ
> >を使ってみました。
> >正しく動いているようです。しかし、私のマシンではスピードが難
> >点ですねぇ...

 マシン性能やフォルダ数にもよると思いますが、確かに遅いですね。
 できれば、開閉状態情報がまとまってレジストリに置かれていて、レジストリ書き
換え後、EnvChanged で、パッと開閉状態が再現されるような形にできれば、格段に
速くなると思います。ただ、労力を割いて開閉状態情報のデータ形式を変更するほど
のニーズがあるかといえば、ちょっとどうかなという気がします。


> 以下のように修正すれば多少早くなりませんか?
>(以下略)

 ご提案のコーティングでうまく動くかどうかは確認していませんが、私自身も最初
に作ったバージョンは、折り畳まれているフォルダの配下はチェックしないように
コーティングしていました。
 でも、実際やってみると、折り畳まれたフォルダを開いたときに、その配下に連
なっているフォルダ群がどのような形で展開されるかまできちんと再現されないと使
いにくいな、と感じて今のような総点検方式に変更した次第です。
 もちろんこのあたりは趣味なので、いろいろ好みに合わせて改造していただければ
と思います。

[ ]
RE:12130 要望:フォルダの位置No.12131
まっちん さん 03/03/28 21:12
 

たまがわ さん、こんばんは。

>> >バッチファイルは抵抗がありましたもので、たまがわさんのマクロ
>> >を使ってみました。
>> >正しく動いているようです。しかし、私のマシンではスピードが難
>> >点ですねぇ...
>
> マシン性能やフォルダ数にもよると思いますが、確かに遅いですね。
> できれば、開閉状態情報がまとまってレジストリに置かれていて、レジストリ書き
>換え後、EnvChanged で、パッと開閉状態が再現されるような形にできれば、格段に
>速くなると思います。ただ、労力を割いて開閉状態情報のデータ形式を変更するほど
>のニーズがあるかといえば、ちょっとどうかなという気がします。

復元する時が遅いみたいですね。

>> 以下のように修正すれば多少早くなりませんか?
>>(以下略)
>
> ご提案のコーティングでうまく動くかどうかは確認していませんが、私自身も最初
>に作ったバージョンは、折り畳まれているフォルダの配下はチェックしないように
>コーティングしていました。
> でも、実際やってみると、折り畳まれたフォルダを開いたときに、その配下に連
>なっているフォルダ群がどのような形で展開されるかまできちんと再現されないと使
>いにくいな、と感じて今のような総点検方式に変更した次第です。
> もちろんこのあたりは趣味なので、いろいろ好みに合わせて改造していただければ
>と思います。

そうですね。そこがマクロのいいところでしょうか。
 # 先ほどのマクロでは、タブが消えてしまって見づらいものになってました。
 # すいません。

[ ]
RE:12128 要望:フォルダの位置No.12132
まいふぇろう さん 03/03/28 22:01
 
> 以下のように修正すれば多少早くなりませんか?
> 私の使用状況ですと、あまりテストにならないのですが。

かなり速くなりました!
最初、あまり変わらないなあ、と思っていたのですが、再現する時
の速度が劇的にアップしたのに気付き、実用上全く問題ありません。
これは使えます。感謝です。

[ ]
RE:12131 要望:フォルダの位置No.12134
たまがわ さん 03/03/28 23:25
 
まっちんさん、こんばんは。

 もう一度見直してみたら、折り畳まれたフォルダの奥に隠れているフォルダ群の開
閉状況をきちんと復元するにしても、末端のフォルダまで記録する必要はありません
でしたね。ご指摘の通り、これをやめるだけでも復元が速くなります。
 失礼いたしました。


if (#p < 2) {
        writeinistr $ini, $key, str(#i), $a;
        writeinistr $ini, $key, str(#i+1), $f;
        writeininum $ini, $key, str(#i+2), #p;
        #i = #i + 3;
}


[ ]
RE:12130 要望:フォルダの位置No.12135
まいふぇろう さん 03/03/28 23:25
 
>  ご提案のコーティングでうまく動くかどうかは確認していませんが、私自身も最初
> に作ったバージョンは、折り畳まれているフォルダの配下はチェックしないように
> コーティングしていました。
>  でも、実際やってみると、折り畳まれたフォルダを開いたときに、その配下に連
> なっているフォルダ群がどのような形で展開されるかまできちんと再現されないと使
> いにくいな、と感じて今のような総点検方式に変更した次第です。

私の場合、どのフォルダも配下が1階層までなので、畳まれている
状態が復元できれば充分です。もともとの要望が、「起動時は、自
分のお気に入りの畳み状態でいつも起動したい」という意味で書き
ましたので、新着が入って(あるいは自分で故意に)開いてしまっ
たフォルダが、次回起動時に(お気に入りの状態で)閉じてくれれ
ば、もうそれで充分です。

たまがわさんが仰るとおり、すべての配下まで再現できればそれに
越したことはないのですが、私の場合、あるフォルダを畳むという
ことは、ただその下の階層が隠れればいいのでして、隠れてさえい
れば、その配下がどうなっていても気にならないです(どうせ見え
ないですから)。

というわけで、私の場合、まっちんさんのマクロをさっそく登録し
て使わせていただいてます。あ、もちろん再現する方は、たまがわ
さんのマクロを自動起動(いろいろ考えた末、終了時のマクロに組
み込みました)に入れて元気に活躍してます。

#起動するたびに、ニヤっとするほどうれしいです。

追伸:
このおかげで、やっと、「メールが振り分けられたフォルダを自動
的に展開する」オプションをオンにできました。以前、これをオン
にしていた時は、開かれてしまったフォルダをいちいち閉じまくる
のが面倒で、この機能を使えませんでした。今は、何が勝手に開か
れても、次回は元に戻るぞ、って感じで快適です。

[ ]
RE:12134 要望:フォルダの位置No.12141
たまがわ さん 03/03/29 10:04
 
 ちょっと整理して鶴亀マクロライブラリに置いておきます(まっちんさんの修正版
も入れさせていただきますね (^^)/)

[ ]
RE:12141 要望:フォルダの位置No.12142
たまがわ さん 03/03/29 11:27
 
 整理していて気がついたんですが、まっちんさんに修正していただいた

#x = strstr($f, $last_closed_f);
if (#x <= 0){  // 閉じたフォルダの下は調べない

のところは、(#x < 0)にしないと、閉じたフォルダ配下も全て通ってしまいます(閉
じたフォルダに合致すると #x = 0 なので)。

 またこのままだと、フォルダ名に test、test1 というような包含関係のものがあ
ると誤判定してしまうので、おしりに"/"を付けて判定するなど適当に修正しておき
ますね。

[ ]
RE:12142 要望:フォルダの位置No.12144
まっちん さん 03/03/29 15:20
 
こんにちは。

> 整理していて気がついたんですが、まっちんさんに修正していただいた
>
>#x = strstr($f, $last_closed_f);
>if (#x <= 0){  // 閉じたフォルダの下は調べない
>
>のところは、(#x < 0)にしないと、閉じたフォルダ配下も全て通ってしまいます(閉
>じたフォルダに合致すると #x = 0 なので)。

ええ。
最初 #< 0で判定していたのですが、アカウントの一番上を特別扱いしなくては
と思ってとっさに修正したのが間違いの元です。

$last_closed_fの初期値(及び、アカウントが切り替わる際の再初期化値)も
空文字列だと問題ある気がします。
鶴亀のシステムフォルダでありえない文字列を入れたほうがいいですね。

$last_closed_f = "なし";

> またこのままだと、フォルダ名に test、test1 というような包含関係のものがあ
>ると誤判定してしまうので、おしりに"/"を付けて判定するなど適当に修正しておき
>ますね。

ご指摘とおりです。ありがとうございます。

[ ]
RE:12144 要望:フォルダの位置No.12146
たまがわ さん 03/03/29 16:33
 
まっちんさん、こんにちは。

>$last_closed_fの初期値(及び、アカウントが切り替わる際の再初期化値)も
>空文字列だと問題ある気がします。
>鶴亀のシステムフォルダでありえない文字列を入れたほうがいいですね。
>
>$last_closed_f = "なし";

 strstr("", "") は -1 になってくれるので、こちらはこのままでも大丈夫みたい
です。

[ ]
RE:12146 要望:フォルダの位置No.12160
まっちん さん 03/03/30 16:37
 

たまがわ さん、こんにちは。

>>$last_closed_fの初期値(及び、アカウントが切り替わる際の再初期化値)も
>>空文字列だと問題ある気がします。
>>鶴亀のシステムフォルダでありえない文字列を入れたほうがいいですね。
>>
>>$last_closed_f = "なし";
>
> strstr("", "") は -1 になってくれるので、こちらはこのままでも大丈夫みたい
>です。

はい。お騒がせしました。

[ ]