アウトライン枠があるウィンドウの幅No.29789
青沼川 さん 11/05/08 18:20
 
今日は。連休もそろそろ終わりですね。
アウトライン機能で以下のような現象があるので、調査をお願いします。

《環境》
----------------------------------------------------
●秀丸エディタ 8.04
●Windows XP Home (SP3)

●[動作環境]−[ウィンドウ]
 ・タブモード = OFF
●[動作環境]−[ウィンドウ]−[配置]
 ・最後のウィンドウ配置を覚える = ON
 ・ファイル毎に覚える = ON
 ・デスクトップ保存 = OFF、復元 = OFF
●[動作環境]−[常駐機能]
 ・秀丸エディタの常駐 = ON

●[ファイルタイプ毎の設定]−[アウトライン]
  −[アウトラインの詳細な設定(共通の設定)]
 ・枠の位置 = 右
 ・枠の表示でウィンドウサイズを広げる = ON
----------------------------------------------------

【現象1】
アウトライン枠が付いたウィンドウの幅(枠を除く本体の幅)が異常に狭
くなることがあります。例えば以下の手順です。

A.txt と B.txt を使います。

(0) 準備
    秀丸エディタは全て閉じています。
    最後に閉じたファイル(何でも良い)はアウトライン枠が無いものと
    します。

(1) A.txt を開き、そのまま閉じます。
(2) B.txt を開き、アウトライン枠を新たに表示させ、B.txt を閉じます。
(3) 次に A.txt を開くと、アウトライン枠が付いた状態で立ち上がりま
    すが、ウィンドウ本体の幅が狭くなっています。つまり、前回 A.txt
    を閉じた時のウィンドウ本体の幅が、今回の全体幅(枠含む)と等し
    くなります。

【現象2】
マクロを使ってアウトライン枠を閉じても、内部の記憶は「枠有り」のま
まのようです。ファイルを閉じてから再度開くと、アウトライン枠が表示
されてしまいます。
一方、メニュー([ウィンドウ]−[アウトライン解析の枠])を使ってアウ
トライン枠を閉じると、内部も「枠無し」の状態になるようです。

再現手順は次の通りですです。

上記の (0)〜(3) に引き続き、
(4) マクロ(下記 ※1)を実行して A.txt のアウトライン枠を閉じます。
(5) A.txt のウィンドウ幅が狭いのでマウスで適当に広げ、プログラムを
    終了させます。
(6) 再度 A.txt を開くと、アウトライン枠が付いてしまいます。
    ウィンドウ全体の幅は最後と同じなので、本体部分はまた狭くなって
    います。

(※1)枠を閉じるマクロ
----------------------------------------------------------
 if (getconfig("Outline")) { // アウトライン枠があれば
  showoutline;   // 枠を閉じる
 }
または
     // 0x111=WM_COMMAND、7141=枠を閉じる
 #ret = sendmessage(outlinehandle, 0x111, 7141, 0);
----------------------------------------------------------

それから要望です。
・ファイルを開いた時、前回の配置(ウィンドウサイズと位置)はファイ
  ル毎に再現されますが、アウトライン枠の有無についてもファイル毎に
  再現されると便利だと思います。
・新規に開く空のファイルには、アウトライン枠が不要だと思います。
  現状の枠の有無は、最後に閉じたファイルと同じ状態になります。

以上、よろしくお願い致します。

[ ]
RE:29789 アウトライン枠があるウィンドウNo.29791
秀丸担当 さん 11/05/09 11:29
 

>【現象1】
>アウトライン枠が付いたウィンドウの幅(枠を除く本体の幅)が異常に狭
>くなることがあります。例えば以下の手順です。

報告ありがとうございます。
手順通りにして確認することができました。
覚えているウィンドウサイズはアウトライン解析の枠も含めた大きさなので、確
かにこういう設定の組み合わせでは都合が良くないようです。
ご要望にあるような、サイズと合わせて枠の表示状態も覚えるようなことが必要
かもしれません。
現状では、枠の表示の有無は[その他]→[ファイルタイプ別の設定]→[アウトラ
イン]→[アウトライン解析の枠]の設定という位置づけになっていて、位置づけ
が変わると、マクロ等の他のいろいろな兼ね合いもあって難しいことがあるかも
しれません。
そういうことができたらいいということで今後の参考にさせていただきます。

現状でするとしたら、無理矢理ですが、[マクロ]→[マクロ登録]→[自動起動]で、
ファイルを開いた直後のマクロでファイルごとに枠の有無を決めるという方法も
あるかもしれないですが、ややこしくなってしまうかもしれないです。


>【現象2】
>マクロを使ってアウトライン枠を閉じても、内部の記憶は「枠有り」のま
>まのようです。ファイルを閉じてから再度開くと、アウトライン枠が表示
>されてしまいます。

確かにそうなることが確認できました。
メニューの[表示]→[アウトライン解析の枠]などのファイルタイプ別の設定関係
のものは、V6.xx以前ではマクロの挙動と同じように一時的な変更でした。
そのため、メニューから表示の有無を変更して、再起動しても変化はありません
でした。
それが以前からの仕様ではあったのですが、[表示]→[ツールバー]などは記憶さ
れるので、一貫性が無く良くないものとおいうことで、V7.xxで記憶されるよう
に変更になりました。

マクロについては、互換性を維持しなくてはいけないため従来通りになっていま
した。
設定を保存するためのsaveconfig文というものがありましたが、今確認してみた
おところ、一時的な状態の枠は保存できないという問題が見つかりました。
これはおかしいので、saveconfig文で保存できるように修正させていただきます。

[その他]→[動作環境]→[トラブル対策]→[その他トラブル対策]→[表示メニ
ューのファイルタイプ別の設定関係のコマンドは保存しない]をONにすると、メ
ニュー上でもV6.xx以前のようにする設定もあります。


>・新規に開く空のファイルには、アウトライン枠が不要だと思います。
>  現状の枠の有無は、最後に閉じたファイルと同じ状態になります。

確かに新規作成状態では必要ではない場合もあると思います。
用途に応じて、ファイルタイプ別の設定をしておくといいかもしれません。
新規状態では[その他]→[ファイルタイプ別の設定]のダイアログボックスの上部
は「共通」という扱いになっています。
例えば.TXTの拡張子のファイルを開いた状態でファイルタイプ別の設定の上部の
「.TXTの設定(S):」の部分を変えておくことで、ファイルタイプごとに設定でき
ます。
そうやって新規状態と分けておくといいかもしれないです。

[ ]
RE:29791 アウトライン枠があるウィンドウNo.29792
青沼川 さん 11/05/09 15:00
 
ご返答ありがとうございます。

[ファイルタイプ別の設定] の中に「アウトライン枠の有無」があるのを
見落としていました。
アウトライン枠の仕様(設計思想)を私がきちんと理解していなかったよ
うです。

要するに、
・アウトライン枠の有無はファイルタイプ毎に決定する。
  (同じファイルタイプの中で、枠有りのファイルと枠無しのファイルを
  両方使うことは無い)
・メニューの [ウィンドウ]−[アウトライン解析の枠] を使っても、この
  設定値を変更することが出来る。
・マクロでは、一時的に枠の有無を変えるがこの設定値自体は変更しない。
ということですね。

これだと確かに「サイズと合わせて枠の表示状態も覚える」のは難しそう
ですね。

私が秀丸エディタを使い始めたのは2ヶ月ほど前からで、それ以前は
WZ Editor 5 を使っていました。そのため何となく WZ と同じ使い方をし
てしまいます。WZ では「アウトライン枠の有無」が設定値ではなく、単
なるウィンドウのサイズや位置と同様の扱いだったので、前回の質問のよ
うになりました。
そのうち、WZ にはとらわれずにタブモードなど様々な機能も試してみた
いと思います。

> 現状でするとしたら、無理矢理ですが、[マクロ]→[マクロ登録]→[自
> 動起動]で、ファイルを開いた直後のマクロでファイルごとに枠の有無
> を決めるという方法も

実は既に自動起動マクロを登録しています。
・ファイルを開いた直後には、まずアウトライン枠を閉じます。
  ウィンドウ幅が狭すぎたり広すぎる場合には、既定の幅に変更します。
  次にファイルの先頭行をチェックして、あるキーワードが有ればアウト
  ライン枠を表示します。
・ファイルを閉じる直前には常にアウトライン枠を閉じます。(これは効
  果が無いようなので、やめるようにしました。)

これだと、ファイルを開く時にウィンドウの幅がちらつきますが、PC を
新しくすると処理速度が上がって気にならなくなるかもしれません。
機能的には問題無いようなので、とりあえずこのまま使おうかと思ってい
ます。

[ ]