Zenモードでアウトラインが出ないようにしたい

  1. こんにちは。
    以前に一度、別件で質問しましたKaeruです。

    ■使用環境■
    Windows 11 Home(バージョン25H2)
    以上を〈ハイコントラストモード〉で使用(「夜空」を編集したもの)
    Mery は 3.8.6(x64, Portable)を「縦書き」で使用

    今回お尋ねしたいのは、Zenモードとアウトラインプラグインの関係についてです。

    今月に入って「Zenモードで文章を打つとめっちゃはかどる、どんどん打てる!」と気づいたのですが(あまりに遅くてすみません…)、現状の表示のされ方が

    ①通常モード(画面?)でアウトラインを出した状態(右に配置)
    ②Zenモードに切り替える
    ③Zenモードでも右側にアウトラインが表示される

    というふうになっているんですね。
    これを、

    ★通常モードでアウトラインが出る設定のままで
    ★Zenモードではアウトラインが出ないようにする

    というふうにすることは可能でしょうか?

    自分なりにヘルプを読み、公式HP内の検索等もしてみたのですが、このあたりの記述が見つからなかったので、久しぶりに投稿させていただきました。

    自分で書いておきながら「何てわがまま!」と思いましたが、実現したらうれしいです(もし現状の Mery でできることでしたら申し訳ありません)

    あと最後に、通常←→Zenモードの切り替えで〈Zen→通常〉にした際に、

    「縦書き」なので右側に来ている「ルーラー」

    「アウトラインの外枠/あるいはWindow の端(へり?)」
    との僅かな隙間に
    「Zenモード時の文字列」らしきものが顔を出す
    (喩えが悪くて恐縮ですが、ちょっとゴミっぽく覗いて見える感じです…)

    という現象もあるのですが、これは文字の大きさや行間を調整すれば何とかなるので大丈夫です(が、念のためにお伝えします)。

    長くなりまして失礼しました。
    以上、ご検討のほどよろしくお願いいたします!

     |  Kaeru  |  返信
  2. こんにちは。ご愛用いただきありがとうございます。

    > ★通常モードでアウトラインが出る設定のままで
    > ★Zenモードではアウトラインが出ないようにする
    >
    > というふうにすることは可能でしょうか?

    現在のところ、そのような設定は用意されていません。

    対応するとしたらアウトラインプラグイン側でのカスタマイズになりますが、プラグインはソースコードを公開しており、必要な機能はユーザー側で追加していただくかたちになっています。

    そのため、私のほうで個人向けの機能追加やカスタマイズを行うことは、一律、サポート対象外とさせていただいています。

    現状ご案内できる方法としては、以下のようなものがあります。

    (1) ショートカットキーを使う方法

    簡単にアウトラインを非表示にしたい場合は、[アウトライン] コマンドにショートカットキーを割り当てておくと、必要に応じてすぐにオン/オフできます。

    (2) マクロを使う方法

    以前、Zen モードの切り替えと同時に好みの設定を適用するマクロを投稿してくださった方がいらっしゃいました。

    【参考】https://www.haijin-boys.com/discussions/4328#discussion-4332

    これを参考に少しカスタマイズ (状態のチェックを追加) すると、たとえば次のようなマクロになります。

    • ZenModeSample.js
    #title = "Zen モード (アウトライン非表示)"
    var MEID_VIEW_ZEN_MODE = 2246; // Zen モード
    
    // Zen モードを切り替え
    editor.ExecuteCommandByID(MEID_VIEW_ZEN_MODE);
    
    var zenMode = (editor.QueryStatusByID(MEID_VIEW_ZEN_MODE) & 2) !== 0;
    var outlineVisible = (editor.ExecutePlugin("Outline.dll", mePluginQueryStatus) & 2) !== 0;
    
    if (zenMode === outlineVisible) {
    	editor.ExecutePlugin("Outline.dll", mePluginExecuteCommand);
    }
    

    このマクロでは、Zen モードを有効にするとアウトラインを非表示にし、Zen モードを解除すると再びアウトラインを表示します。

    マクロを登録すると、[マクロ] メニューに [Zen モード (アウトライン非表示)] が追加されます。

    このマクロを実行すれば、Zen モードへの切り替えと同時に、ご希望に近い動作が実現できるかと思います。なお、Zen モードを解除するときも、このマクロから切り替える必要があります。

    マクロにはショートカットキーを割り当てることもできますので、お好みで設定してみてください。

    (3) アウトラインプラグインをカスタマイズする方法

    アウトラインプラグイン側で Mery の状態を監視 (Editor_QueryStatus(hwnd, MEID_VIEW_ZEN_MODE, @LChecked);) して、アウトラインプラグインの表示/非表示を切り替えるようにすれば、比較的簡単に実装できるかと思います。

    【参考】Mery Plugin SDK

    > 「縦書き」なので右側に来ている「ルーラー」
    > と
    > 「アウトラインの外枠/あるいはWindow の端(へり?)」
    > との僅かな隙間に
    > 「Zenモード時の文字列」らしきものが顔を出す

    ご報告ありがとうございます。

    こちらでも確認してみたのですが、私の環境では Zen モード切り替え時の現象は再現できませんでした。

    ただ、ハイコントラストモードでは、エディター部分とアウトライン部分の間にある分割線をドラッグ移動した際に、描画の残像のようなものがゴミとして残るケースは確認できました。

    Kaeru さんの環境で発生している現象も、これに関連している可能性がありますので、次のバージョンで改善できないか対応してみようと思います。

     |  Kuro  |  返信
  3. Kuro様

    お返事いただき、ありがとうございました!

    さっそくショートカットキーを割り当てて試してみました。
    ものすごく快適です。
    二つのマクロも時間を作って挑戦したいと思います。

    このたびは「ショートカットキーを使えばできる」ということに思い至らずに投稿してしまい、申し訳ありませんでした。
    いただいたお返事によって Zenモード での入力が楽しくなり、ますます Mery が大好きになりました。ありがとうございました!

    最後に

    > ただ、ハイコントラストモードでは、エディター部分とアウトライン部分の間にある分割線をドラッグ移動した際に、描画の残像のようなものがゴミとして残るケースは確認できました。
    >
    > Kaeru さんの環境で発生している現象も、これに関連している可能性がありますので、次のバージョンで改善できないか対応してみようと思います。

    心強いお言葉をありがとうございました。
    やはり前回同様、ハイコントラストモードのせいでしたか…。
    光過敏の関係でどうしてもそのモードを使わざるを得ないので、いただいたお返事をとてもうれしく思いました。

    このたびは本当にありがとうございました。
    これからも Mery を楽しく使わせていただきますね。

     |  Kaeru  |  返信
スポンサーリンク