Ctrl+Alt+ドラッグ のときのマルチカーソル化がうまくいかないケース

  1. Kuroさん

    またまたご報告に来てしまいました。
    最近もお忙しそうですから、ゆとりができたときにご確認いただければ幸いです。

    Ctrl+Alt+ドラッグ のときのマルチカーソル化がうまくいかないケースがあるようです。

    - Mery Ver 3.5.3
    - Windows 11

    まずはキャプチャをご確認ください:
    https://imgur.com/a/qaGmdj9

    手順:
    Ctrl+Alt+ドラッグで範囲選択する。
    ドラッグ開始をウィンドウ下の方にして、ドラッグ終了 (マウス左ボタンリリース) をルーラーより上方とする。(ルーラー上でのリリースも対象)

    期待する動作:
    選択範囲に応じて全行でマルチカーソル化すること。
    ※キャプチャのOKパターンのときの動作。エディタ部内でドラッグ終了するとこの動作になる。

    実際の動作:
    マルチカーソル化されない。
    また、選択範囲オーバーレイ表示だけがされているような状態になっているようで、ドラッグ終了後にBackspaceや文字入力をしてもドラッグ前のカーソル位置での動作になってしまうようです。

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

    > 最近もお忙しそうですから、ゆとりができたときにご確認いただければ幸いです。

    今週はなぜかフォーラムが大盛況でやばかったです😂 (バグのせいですがw)

    現象、再現しました。詳細な再現手順をありがとうございました。

    プログラムを確認してみましたところ、ルーラーより上でのドロップ操作は禁止する処理が組み込まれていました。(何のために入れたのか記憶にありませんが…😅)

    次のバージョンでは対応できるよう、調査してみます。

     |  Kuro  |  返信
  3. Kuroさん

    3.5.4 リリースお疲れさまでした🙇‍♂️

    怒涛の更新量でしたね。

    マーカー機能のタイトル対応は、論理名みたいな感じで、複雑なマーキングを常時利用する方にはとても良さそうだなーと見ていました。

    Zenモードの枠線点滅の対処もありがとうございました。これで私自身もZenなモードに入れるよう日々集中力を磨いていきたいと思います。

     |  yuko  |  返信
  4. 早速お試しいただきありがとうございます。

    > 怒涛の更新量でしたね。

    地味な改善とバグ修正ばかりですが…😅

    > マーカー機能のタイトル対応は、論理名みたいな感じで、複雑なマーキングを常時利用する方にはとても良さそうだなーと見ていました。

    そうなんですよね、私もこれはアリだなーと思いすぐに開発に着手したのですが、マーカー機能って内部的には編集モードの強調文字列の仕組みをそのまま使っていたもので、タイトル項目の増設は影響範囲が広く、開発に時間がかかってしまいました。

    > Zenモードの枠線点滅の対処もありがとうございました。

    ご確認いただきありがとうございます。うまく動作しているようで安心しました。

    ただ、以下の件…

    > - 2枚目: 全画面表示 ON/OFF した直後の状態

    全画面表示から復帰したときにタブのスクロールボタンの表示が崩れる、というのは私の環境では再現できなかったもので対応できていません。

    画面の解像度とか、タブの数、タブの幅、タブのフォントなども関係しているのかもしれないです。

    > これで私自身もZenなモードに入れるよう日々集中力を磨いていきたいと思います。

    ご活用いただけてうれしいです。私も、リリース直後にバグが見つかる現象に備えて、メンタルを Zen モードに持っていきたいと思います (グビグビ…🍺)

     |  Kuro  |  返信
  5. > 地味な改善とバグ修正ばかりですが…😅

    いえいえ、個人的には大助かりです。
    ありがとうございました。

    > そうなんですよね、私もこれはアリだなーと思いすぐに開発に着手したのですが、マーカー機能って内部的には編集モードの強調文字列の仕組みをそのまま使っていたもので、タイトル項目の増設は影響範囲が広く、開発に時間がかかってしまいました。

    結構スピーディーに実装された印象でしたが、結構な時間を使ったのですね。おつかれさまでした。(週末にZen🍺な感じで作り込んだのだろうと想像…)

    思いつきを言ってるだけで要望ってわけではないのですが、これで仕様が固まったのであれば、「マーカーの設定」ウィンドウのマーカー一覧に「タイトル」カラムを用意してもいいかもしれませんね。
    イメージ: https://imgur.com/a/tD1T2EW

    マーカーを多く設定している方がタイトル設定も多くの項目に使っている場合、上記マーカー一覧上でタイトルも識別できた方がどこの設定をいじればいいのかがすぐに視認できそう、と思いました。

    > > - 2枚目: 全画面表示 ON/OFF した直後の状態
    >
    > 全画面表示から復帰したときにタブのスクロールボタンの表示が崩れる、というのは私の環境では再現できなかったもので対応できていません。

    そうだったんですね。こちらでは、Win 11環境 (デスクトップ)、Win 10環境 (ノートPC) の両方で再現するので、なにかおま環な使い方でもあるのかもしれませんね…😅
    とはいえZenモードからの解除のときのようにボタンが完全に素の状態に戻ってしまうってこともなく些細なことなので、放置でも構わないと思います。

    ところでいまさらになって気づいたのですが、全画面とZenモードの解除時にWin 11のウィンドウUIの角丸が無くなってしまうようです。少しでもウィンドウドラッグすると元に戻ります。
    https://imgur.com/a/CoAi75Z
    ver 3.5.3でも起きるようなので、おそらく今回のアップデート起因ではないと思いますが…。
    機能的に何か不都合があるわけでもないので「そういう仕様」ということでも個人的には別段構わないものの、一応のご報告でした。

     |  yuko  |  返信
  6. > 結構スピーディーに実装された印象でしたが、結構な時間を使ったのですね。おつかれさまでした。(週末にZen🍺な感じで作り込んだのだろうと想像…)

    そうなんです、グイっとね。って😓 きちんとシラフで土日、捧げましたからねっ!w

    > 「マーカーの設定」ウィンドウのマーカー一覧に「タイトル」カラムを用意してもいいかもしれませんね。

    > マーカーを多く設定している方がタイトル設定も多くの項目に使っている場合、上記マーカー一覧上でタイトルも識別できた方がどこの設定をいじればいいのかがすぐに視認できそう、と思いました。

    これは開発してるときに私も同じことを考えましたが、実際にタイトル機能を使うのは、マーカーで正規表現を使ってて、さらにその正規表現が長いケースだと思うんです。

    正規表現を使わず、普通にマーカー機能として使ってる場合は、恐らくタイトル機能は使うことはないでしょうし、使ったとしても 1 つか 2 つとかになると思います。

    タイトルが必須項目なら 2 列というのもアリだとは思うのですが、使うことが少ないタイトル列によってマーカー列が半分の幅になってしまうのは微妙かなと。

    ただ、タイトルを付けた場合、どこの設定をいじればいいのかわかりづらいというのは私も感じていました。

    そこで、次のバージョンでは、マーカー バーの右クリックから [マーカーの設定] を開いたときは、その項目が選択状態になるようにするので設定しやすくなると思います。

    > そうだったんですね。こちらでは、Win 11環境 (デスクトップ)、Win 10環境 (ノートPC) の両方で再現するので、なにかおま環な使い方でもあるのかもしれませんね…😅

    気になりますね。他に何かお気づきの条件などありましたら教えていただけると助かります。

    > ところでいまさらになって気づいたのですが、全画面とZenモードの解除時にWin 11のウィンドウUIの角丸が無くなってしまうようです。少しでもウィンドウドラッグすると元に戻ります。

    ご報告ありがとうございます、私の環境でも再現できました。対策も見つかりましたが、これは Windows 11 のバグっぽいですね。次のバージョンでは対応できると思います。

     |  Kuro  |  返信
  7. > そうなんです、グイっとね。って😓 きちんとシラフで土日、捧げましたからねっ!w

    それは失礼しましたw シラフであの数の対応とは、益々おつかれさまでした。

    > タイトルが必須項目なら 2 列というのもアリだとは思うのですが、使うことが少ないタイトル列によってマーカー列が半分の幅になってしまうのは微妙かなと。

    それもそうですね。私も言っておいてなんですが、常設の「TODO」という単語のハイライトと、一時的に2,3追加する程度で使っているので、タイトルが識別できなくても今今困ることはなさそうだなーという。。。(なのに意見してしまってすみません、なのですが)

    > そこで、次のバージョンでは、マーカー バーの右クリックから [マーカーの設定] を開いたときは、その項目が選択状態になるようにするので設定しやすくなると思います。

    たしかにそれはよさそうですね!

    ところで、ツールバーからはみ出した部分は >> という省略表示がされると思いますが、そちらで展開したマーカーのリストについてはやはりどうしても右クリック操作の対象外になってしまいますよね?
    できればそこでも右クリックが使えると上記の仕様も相まって万々歳ではありますが、UI要素的にできなさそうだなぁと推察しております…😅

    現状も右クリックで操作できないので (それに私としてはそれで困ってるわけでもないので)、そこまで気になるわけではないのですが、「ツールバーからはみ出す数を設定している & タイトルもたくさん使っている」ような使い方になると、「右クリックから [マーカーの設定] を開く」の操作をはみ出しているリスト項目でもできたら嬉しそうだなぁ、と思い。

    そもそも、それほどのマーカーヘビーユーザーともなると [マーカーバーにテキストを表示] をOFFにしてできるだけ表示領域を確保するから杞憂、という話もあるかもしれませんが…。

    > 気になりますね。他に何かお気づきの条件などありましたら教えていただけると助かります。

    おや、、、今あらためて確認したところ、再現しなくなってしまいました。何か再現条件が違っているのか、はたまた知らぬなにかをきっかけに改善されたのか…🤔
    お騒がせしてすみません。もしまた再現するようであれば改めてご報告しますね。

    > ご報告ありがとうございます、私の環境でも再現できました。対策も見つかりましたが、これは Windows 11 のバグっぽいですね。次のバージョンでは対応できると思います。

    Windows 11さんはなにかと細かいバグを仕込んできますねー。それに対処していくKuroさんもさすがというほかありません👏

     |  yuko  |  返信
  8. なはは、土日だけってわけではなく、平日も夜にコソコソやっておりますよ~

    > できればそこでも右クリックが使えると上記の仕様も相まって万々歳ではありますが、UI要素的にできなさそうだなぁと推察しております…😅

    そうなんですよね。マーカー機能に限らず、たとえば、[ファイル] メニューの最近のファイルの履歴なんかも、メニュー項目の上で右クリックしてピンどめできるように、などのご要望をいただくことがあります。

    メニューの項目を右クリックして新たに別のメニューを開く、といった操作は秀丸エディタさんや EmEditor さんだと実装されているので技術的には可能なのだと思うのですが、Mery の開発環境の Delphi で実装する方法は情報がなくて、私の技術では対応できていない状態です。

    このスレッドを見てくれているユーザーさんの中に、実装方法をご存じの方がいらっしゃったら情報をいただけると助かります。

    > そもそも、それほどのマーカーヘビーユーザーともなると [マーカーバーにテキストを表示] をOFFにしてできるだけ表示領域を確保するから杞憂、という話もあるかもしれませんが…。

    確かに😅 別のスレッドですが、タイトル機能のご要望をあげてくださったユーザーさんご本人はテキスト表示 OFF がクリティカルヒットしたようで、タイトル機能が必要なくなりそうですしw

    > お騒がせしてすみません。もしまた再現するようであれば改めてご報告しますね。

    いえいえ。チラつきやゴミが残ったりするのはグラボの種類やドライバーが関係していることもあったりして闇が深いですからね。ぜひ、お願いいたします。

    > Windows 11さんはなにかと細かいバグを仕込んできますねー。それに対処していくKuroさんもさすがというほかありません👏

    そんなことないですよー。むしろ、XP から 11 までほぼ同じソースコードでプログラムが動いている Windows がスゴすぎるのだと思います。

    Windows の新機能に飛びついちゃうと痛い目にあいますが、レガシーな機能は互換性が高いので安心感もありますしね。って、今回はそのレガシーな部分でのバグですが😭

     |  Kuro  |  返信
  9. > このスレッドを見てくれているユーザーさんの中に、実装方法をご存じの方がいらっしゃったら情報をいただけると助かります。

    TPM_RECURSE というヒントをいただき調べてみましたところ、Windows 標準メニューの機能のひとつに、メニューの上にメニューを表示するという仕組みが用意されていました。

    Delphi にはそういった機能がないので簡単にとは行きませんが、なんとかなりそうな気がしてきました。

     |  Kuro  |  返信
  10. > そんなことないですよー。むしろ、XP から 11 までほぼ同じソースコードでプログラムが動いている Windows がスゴすぎるのだと思います。

    思えば現行のMeryもXPで動くんですもんね。
    私にとってはマルチカーソルに対応されたときの衝撃が大きく、あの時代に今のMeryが使えていたらとんでもなく便利だったろうなー、と詮無きことも考えてしまいます。

    > TPM_RECURSE というヒントをいただき調べてみましたところ、Windows 標準メニューの機能のひとつに、メニューの上にメニューを表示するという仕組みが用意されていました。
    >
    > Delphi にはそういった機能がないので簡単にとは行きませんが、なんとかなりそうな気がしてきました。

    こ、これは、期待してもいいんでしょうか…!?
    前述のピン留めの話もありましたが、活用できる幅が広そうですね…!

     |  yuko  |  返信
  11. > 思えば現行のMeryもXPで動くんですもんね。

    そうなんですよね。そういえば、当時の Mery は XP + Delphi 6 で開発してました。思えば遠くに来たものです😓

    > あの時代に今のMeryが使えていたらとんでもなく便利だったろうなー、と詮無きことも考えてしまいます。

    なるほど、ちょっとデロリアンを探してきます!

    > こ、これは、期待してもいいんでしょうか…!?
    > 前述のピン留めの話もありましたが、活用できる幅が広そうですね…!

    どうやら、大丈夫そうです。

    UI 的にそんなの無理でしょ?無理やり実装してるんじゃね?と思っていましたが、MS 公式の API のようで、押入れから引っ張り出してきたデロリアン (XP) でもきちんと動作しました。

    これは行ける気がします!

     |  Kuro  |  返信
  12. デロリアン (XP) www
    起動したら、そこには2000年代が広がるわけですね…

    うちにはもはやデロリアンは欠片もありませんが、XPでも動くこの新機能を楽しみにしています!

     |  yuko  |  返信
  13. Kuroさん

    3.5.5 リリースお疲れさまです。

    メニュー項目右クリックの新機能、マーカーバーだけかと思いきや、各所にフル活用な感じで驚きましたw
    キーボードショートカットへの遷移に用いるのはだいぶナイスアイデアですね👍

     |  yuko  |  返信
  14. > 3.5.5 リリースお疲れさまです。

    ありがとうございますー

    > メニュー項目右クリックの新機能、マーカーバーだけかと思いきや、各所にフル活用な感じで驚きましたw

    そのあたりは先人様を参考にさせていただきました😅

    メニューの上にメニューの、一部の機能が XP では動かなくて、10 時間ぐらい浪費してしまいましたが…。もう、XP サポートやめたーい😭

     |  Kuro  |  返信
  15. > もう、XP サポートやめたーい😭

    正直、ここまで来ると意地との勝負みたいになってるところありますからね😅

    「XPでもできるだけ動くようにはしているけど、完全な動作保証はない」的な立場をとったとしても、結局毎度XPでテストすることになりそうだし、そこでバグが見つかると結局それを潰したくのが開発者の性ですからねー…。悩ましい…。

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