zenモード表示中に、メニュー/ツールバーからポップアップメニューマクロを起動したとき
-
ポップアップメニューがキャンセルされてしまい、なんとなく気になったので…
【再現条件・操作手順】
① zen モードの状態からマウスポインターを最上部に移動して標準メニュー/ツールバーを表示させる (→ 一時的に最大化サイズのウインドウ表示になる)
② マウス操作でツールバーアイコンのポップアップメニュー系マクロ Popupmenu.Track(mePosMouse) を起動する (またはマウス操作で [マクロ] メニュー内からポップアップメニュー系マクロを起動)
③ マウスポインターでポップアップメニュー内の下のほうにある項目をクリックしようとすると「最大化ウインドウ」状態から「zen モード」表示状態にもどって、ポップアップメニューがキャンセルされるフォーカスがポップアップメニュー上にある状態でも、マウスポインターがエディタ領域内にかかる部分に移動すると「最大化ウインドウ」状態から「zen モード」表示状態に戻ってしまい、そのさいの再描画処理でフォーカスがポップアップメニューからはずれて、メニューの表示がキャンセルされてしまうようです。
Popupmenu.Track( 0 ) でキャレット位置にポップアップメニューを表示させるマクロの場合も、メニュー/ツールバーからマクロを起動したときはマウスの移動で「最大化ウインドウ」→「zen モード」表示に戻ってしまい、ポップアップメニューがキャンセルされます。c.f.
・zenモード表示状態でショートカットキー操作や右クリックメニューから「ポップアップメニュー系マクロ」を起動した場合は、マウス操作でメニュー内のすべての項目をたどることができます。
・マクロを起動してからマウスを動かさずに、ポップアップメニュー内をキーボード操作(矢印キー)でたどるぶんには問題ないようです(マウスポインターが移動しなければ「最大化ウインドウ」状態が維持される)。
・標準メニューバーからのドロップダウンメニュー([表示] メニュー等)であれば下のほうの項目でもマウス操作でたどることができます(ドロップダウンメニューの表示中は zen モード状態にもどらない)。
・メニューバーからマウス操作で [ツール] >> [プラグイン] >> [お気に入り] とたどって「お気に入りプラグイン」のポップアップメニューを起動した場合、マウスポインターがエディタ領域内に入って zen モード表示の状態に戻っても「お気に入り」のポップアップメニューはキャンセルされないようです。zen モード(集中執筆モード)表示中はキーボード操作で編集作業をするのがデフォなのかもしれませんから、わざわざマウス操作でツールバーを表示させてからマクロを起動するのは邪道なのでしょうが…
ご確認お願いします。| sukemaru | 返信 -
ご報告ありがとうございます。
いただいた手順で現象を再現することができました。
> zen モード(集中執筆モード)表示中はキーボード操作で編集作業をするのがデフォなのかもしれませんから、わざわざマウス操作でツールバーを表示させてからマクロを起動するのは邪道なのでしょうが…
確かに、Zen モード中にマウス操作でツールバーを表示できるようにしたのは、Zen モードを解除する方法がわからなくなる人がいそうだから、という理由からなので、Zen モード中にツールバーから色々な操作をするというのはあまり想定していませんでした。
もしかすると他にも Zen モードと競合する機能があるかもしれませんが、それは見つけ次第、その都度対策を検討していこうと思います。
マクロからのポップアップメニューは対応可能だと思いますので調査してみますね。
| Kuro | 返信 -
ご返信ありがとうございます。
> Zen モード中にツールバーから色々な操作をするというのはあまり想定していませんでした。
ですよねー lol
私の場合はマクロが多すぎて、右クリックメニューに全部登録するとしったかめっちゃかになりますし、サブメニューでグループ化してしまうとアクセス性が悪くなりますから、zenモードといえどもツールバー/マクロバーのアイコンはちょこちょこ使うんです。それに、先日アイコンライブラリを久々に更新したのですが、「Yahoo!天気情報」マクロのアイコンが妙に気に入っちゃいまして、特に意味もなく息抜き代わりにクリックしにいっちゃうんです。 :)
情報を表示させるマクロってダイアログを使うよりもポップアップメニューにしてしまうほうが、サウンドなしにできますし、OKやキャンセルのボタンを押すためにマウスを移動させる必要もなしで勝手がいいんですよね。> マクロからのポップアップメニューは対応可能だと思いますので調査してみますね。
よろしくおねがいします。 :D| sukemaru | 返信