秀丸エディタのアウトライン枠の幅や高さをマクロから変更する(できませんでした)

秀丸エディタのアウトライン枠の幅(高さ)をマクロから変更できるかもしれないと、ふとひらめいた。

秀丸エディタには「レジストリをいじる命令」と「秀丸エディタに再読込をかける命令」があるので、レジストリをいじった後で再読込をかけることで、マクロがサポートしてない設定変更も行えるようになる……と envchanged のヘルプに書いてあった。

試してみた。

結論

ダメだった。

レジストリについて

HKEY_CURRENT_USER\Software\Hidemaruo\Hidemaru\Outline

  • cx エントリ
    • REG_DWORD
    • 16進数
    • アウトライン枠左右表示時の横幅(pixel)
  • cy エントリ
    • REG_DWORD
    • 16進数
    • アウトライン枠上下表示時の縦幅(pixel)
  • Right エントリ
    • REG_DWORD
    • アウトライン枠の位置(0~3のいずれか)

Right の値と表示位置の対応

   2

 0   1

   3

書いたマクロ

// レジストリの cx を 5 だけ増やす
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Outline";
#cx = getregnum( "cx" );
#new_cx = #cx + 5;
writeregnum "cx", #new_cx;
closereg;

// 秀丸エディタにリロードをかける
envchanged;

// これで表示中の左端アウトライン枠が 5 pixel 伸びるはずだが……

実行結果

  • 再読込はされた
  • しかし 5 pixel 伸びることはなかった

なぜ動かなかったのか考えてみると、たぶん

秀丸エディタのマクロでは、[その他]-[動作環境]の内容を変更することができません。しかし、この文を使うとそれと同様のことができるようになります。

これが原因だと思われる。つまり 「アウトライン枠の幅(高さ)」という設定値はその他動作環境内には無いため、この envchanged のやり方は使えませんよ という可能性。