全画面表示、Zenモードに関連する表示崩れなど

  1. Kuroさん

    検索バーを試すなかで全画面表示やZenモードをポチポチと動かしていて気づいたので、ご報告します。

    - Windows 11 64bit
    - Mery Ver 3.5.3

    (1) タブのスクロールボタンの表示崩れ

    全画面表示 or Zenモードを ON/OFF すると、タブのスクロールボタンの表示が崩れるようです。

    再現手順:

    1. メニューバー [表示] > [全画面表示] or [Zen モード] クリックでONにする
    2. メニューバー [表示] > [全画面表示] or [Zen モード] クリックでOFFにする

    キャプチャ:
    https://imgur.com/a/VI1a1t5

    - 1枚目: いつもの状態
    - 2枚目: 全画面表示 ON/OFF した直後の状態
    - 3枚目: Zen モード ON/OFF した直後の状態

    (2) Zen モード中、枠線が自動で非表示されたあとにマクロを動かすと枠線が瞬間的に表示される

    再現手順:

    1. Zen モードをONにする
    2. 適当なマクロを動かす

    キャプチャ:
    https://imgur.com/a/6PSVqxY

    上記キャプチャの中ではHome/Endキーを交互に押すことでマクロを動作させているのですが、一瞬、エディタ部の枠線が見えるときがあるのが見て取れるかと思います。

    ちなみにHome/Endキーにマクロ「VSCode風、行頭/行末に移動」を割り当てています。
    ※MeryWikiに載っているものなのですが、現在500エラーが出るようになってしまっていて調べられないためURLは割愛します。

     |  yuko  |  返信
  2. ご報告ありがとうございます。

    > (1) タブのスクロールボタンの表示崩れ

    (1) の Zen モードのオン/オフでスクロールボタンの表示が崩れる現象は確認できました。

    [全画面表示] のオン/オフだと、私の環境では再現できず。もしかすると、画面サイズやタブの数などが関係しているのかもしれません。見た感じ、タブの背景色が残像になっているような気もするので…。

    > (2) Zen モード中、枠線が自動で非表示されたあとにマクロを動かすと枠線が瞬間的に表示される

    こちらは適当なマクロだと再現できないようで、「VSCode風、行頭/行末に移動」を試してみようと思ったのですが、MeryWiki が落ちてました😭

    MeryWiki が復旧次第、調査してみますね。

     |  Kuro  |  返信
  3. > こちらは適当なマクロだと再現できないようで

    もしかすると、マクロの相性の他、スペックなんかの環境も影響するかもしれず、再現しづらいかもしれませんね。。

    こちらだと、仕事で使っているWindows 10環境(ノートPC)でも同様に枠線の明滅が発生するのですが、そちらの方がより顕著に現れるんですよね。

     |  yuko  |  返信
  4. ご返信ありがとうございます。

    MeryWiki が復旧したので「VSCode風、行頭/行末に移動」を試させていただいたところ、現象を再現できました。

    どうやら Redraw プロパティを指定されていることが影響しているようです。

    Redraw = false で画面の再描画を抑制しますが、Redraw = true を呼び出すか、マクロの実行を終了したときには自動的に Redraw = true が呼び出されるようになっています。

    で、この Redraw = true は再描画を開始すると同時に、画面を最新の状態にするために、一度、画面をリフレッシュします。そのとき、チラつきが発生しているようです。

    一応、Redraw = false をコメントにするとチラつきはおさまりますが、Mery 側でもできるだけチラつきが発生しないよう対策を調査してみたいと思います。

     |  Kuro  |  返信
  5. なるほど、Redrawでしたか。
    Redrawを設定しなくても気にならないくらいカーソルの動きを最小限にしたマクロづくりを意識しようと思うものの、ついつい細かい動きを簡単に隠蔽してくれるRedraw先生をエイヤッと使いがちなのですよね…🤤

    完全にこちら都合な話ですが、Enterにまでマクロを割り当てている身の上ゆえ、対策を講じていただけるなら大変助かります。

    それまでは、Redrawをできるだけ使わない(処理中にカーソルを動かさなくて済む)やり方をひねり出せないか考えてみたいと思います。

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