キャレットの色

  1. どうもお世話になってます
    矩形編集とマルチカーソル便利そうですね
    だだ、操作覚えるのが大変そうですが
    さて質問なんですがキャレットの色の変更は出来ないのでしょうか
    IMEのオンオフでキャレットの色とサイズを変更するソフトを使ってますがマルチカーソルではダメみたいです(最後の1つだけ変更されてる)
    Meryのオプションで見つからなかったので隠し機能でないかと
    検索しましたがヒットしませんでした
    特に問題ないのですが変更できるなら揃えたいと思いまして
    隠し機能無いですか?よろしくお願いします

     |  kiyohiro  |  返信
  2. Ver 3.0.0 をお試しいただきありがとうございます。

    > IMEのオンオフでキャレットの色とサイズを変更するソフトを使ってますがマルチカーソルではダメみたいです(最後の1つだけ変更されてる)

    そうなんですよね。これも "仕様上の制限事項" のところに記載する予定だったのですが、説明が長かったので割愛してしまいました。

    キャレットの色やサイズを変更するソフトは「システムキャレット」というものに対してのみ有効です。

    この「システムキャレット」というものは Windows の仕様で 1 つの画面 (コントロール) のなかに 1 つしか存在できないようになっています。

    そこで、Mery のマルチカーソル機能はシステムキャレットが 1 つと、その他はキャレットのように見えるダミーを使っています。

    そのため、システムキャレットの形状を変更するソフトを使っても、すべてのキャレットの形状を変えることはできません。

    ちなみにマルチカーソルに対応している他のエディターですと、システムキャレットを隠してすべてダミーのキャレットを使うという仕組みのものが多いので、ほとんどのものがそもそも 1 つもキャレットを変更することができません。

    Mery は、IME に応じてキャレットの形状を変更するソフト対策として、一応、 1 つだけシステムキャレットを使うようにしているので、IME のオン・オフは分かるかなと…

    見た目がすべて揃わないのは気持ち悪いかもしれませんが、技術的に対応が難しい部分なのでご了承ください。

     |  Kuro  |  返信
  3. 回答ありがとうございます
    > Mery は、IME に応じてキャレットの形状を変更するソフト対策として、一応、 1 つだけシステムキャレットを使うようにしているので、IME のオン・オフは分かるかなと…
    > 見た目がすべて揃わないのは気持ち悪いかもしれませんが、技術的に対応が難しい部分なのでご了承ください。

    了解しました
    ちなみにマルチは諦めるとして
    システムキャレットの色は変更出来ないのでしょうか?
    元々キャレットの色変更ソフトはエディタとブラウザで使いたいのでいれたのですが最近のブラウザは自前のキャレットで変更出来ず
    使わけの別エディタは変更出来るのでほぼMery専用になってます
    また最近のWin10で落ちたりするので使うのをやめようかと思ってたところなのでMeryで変更(IMEオン(緑)IMEオフ(赤))できるならありがたいのですが

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

    > システムキャレットの色は変更出来ないのでしょうか?

    現在のところキャレットの色を変更する機能はありません。

    > Meryで変更(IMEオン(緑)IMEオフ(赤))できるならありがたいのですが

    そうですね。

    以前は、キャレットの色変更は専用のツールを使っていただいたほうが他のアプリでも使えるので便利ですよとご案内していたのですが、確かに最近は自前キャレットのアプリが多いですね。

    ご意見は今後の開発の参考にさせていただきたいと思います。

     |  Kuro  |  返信
  5. > システムキャレットの色は変更出来ないのでしょうか?

    kiyohiro さん
    音が出せる or ヘッドホン可と言う環境下な条件付きですが、
    IMEのonが判れば良いということであれば、
    imaimeというアプリはいかがでしょう?
    音で知らせてくれるので、見る必要も無くて目にも優しいですよ。

    tp://www2.osk.3web.ne.jp/~sm/imaime/imaime.html

     |  tom  |  返信
  6. > > Meryで変更(IMEオン(緑)IMEオフ(赤))できるならありがたいのですが
    >
    > ご意見は今後の開発の参考にさせていただきたいと思います。

    Kuro さん
    横やりで失礼しますが、もし実装されるのであれば、
    色も欲しいのですが、

    キャレットの太さというか形状、
    off だと大文字の I (ブラケットSerif?)
    on だと I より少し短めの半角塗りつぶし長方形
    とか

    点滅速度も

    変えていただけると嬉しいです。
    設定とかいりませんので、よろしくお願いします。

     |  tom  |  返信
  7. tomさんご紹介ありがとうがざいます
    IMEのオンオフについては別ソフトでわかるようにしてますが
    長年、キャレットの色の変更ソフトでなれてしまったので
    見た目だけの問題です
    ただこれが厄介でIMEオン(緑)IMEオフ(赤)でないと
    かなりの違和感を感じるようになってしまって...

     |  kiyohiro  |  返信
  8. 一ユーザです。
    キャレットを赤色点滅させるフリーソフトは以前からあり、私も利用していますが、
    64ビットソフトには利かない、独自キャレットを持つソフトには機能しないなどの
    制約があります。Mery や一太郎は 32ビットですので、恩恵にあずかれています。

     |  tisi  |  返信
  9. >> tom さん

    ご意見ありがとうございます。

    まだ実装するかどうかは未定ですが、実装する場合はキャレットの色のみか、できても幅ぐらいまでだと思います。

    高さはフォントのサイズに応じて変わる必要がありますし、特殊な形状にする場合はキャレットに画像ファイルを使用することになるのでフォントの大きさに追従させることができないため、仕組み的に難しいです。

    キャレットの点滅速度を変更することは技術的には可能ですが、点滅速度の設定は Windows 全体の共通設定となっているため、Mery だけの都合で勝手に変更してしまうのは好ましくありませんから、そういった機能のある Windows のカスタマイズソフトなどをご利用いただいたほうが良いかと思います。

    >> kiyohiro さん、tisi さん

    私は ImeCaretColor というソフトを試させていただきましたが、これは 64 ビット版でも特に問題なく使えていますよ。

    設定で IME オン・オフ、ひらがな・カタカナなど細かい状態に応じて、キャレットの色と幅を設定できるようです。

    Mery のマルチカーソルだとすべてのカーソルに反映されるわけではなく、代表の 1 つに反映されるだけという問題はありますが… ^^;

    隠しオプションで良ければ実装してみてもいいかなぁ…とは思っています。

     |  Kuro  |  返信
  10. Kuroさんご紹介ありがとうがざいます
    ImeCaretColor
    機能は申し分ないのですがインストーラーですね
    残念ながらポータブル環境で使えない?がネックですね
    一応私は以下を使ってます
    CaretColor
    ttp://freesftys.lv9.org/app/other/#caretcolor
    色、幅、点滅時間の設定に
    64版など便利ですが
    Windows 10 May 2019 Update (version 1903)辺りから
    落ちやすくなってしまいました
    また現在作者の方に報告も出来なく?なってるみたいです

    > 隠しオプションで良ければ実装してみてもいいかなぁ…とは思っています。
    ぜひよろしくお願いします

     |  kiyohiro  |  返信
  11. ご返信ありがとうございます。

    > 残念ながらポータブル環境で使えない?がネックですね

    そういわれてみると確かに、ポータブル版は見当たりませんね。

    > CaretColor
    > ttp://freesftys.lv9.org/app/other/#caretcolor
    > 色、幅、点滅時間の設定に

    情報ありがとうございます。SetCaretColor というソフトがこういったキャレット色変更ソフトのオリジナルっぽいですね。

    しかし CaretColor も多機能ですね。

    ひらがな、カタカナ、全角英数字などに応じた設定項目と切り替えを用意するのはちょっと大変そうなので、単純に IME のオン・オフの 2 パターンの指定で良ければ、隠しオプションで用意できそうな気がします。

    なるほど、キャレットの高さは本来のキャレットの高さの % で指定するわけですか。これならフォントの高さに追従させることができそうですね。

    やるとしたら、点滅速度は Mery 以外のソフトにも影響が及ぶため無しということで、IME オン・オフのときのキャレットの色、幅、高さのみ設定できるようにして、それぞれ未設定だと従来どおりという感じですかね。

     |  Kuro  |  返信
  12. Ver 3.0.1 の更新、お疲れさまでした。

    キャレット色の変更を試してみました。

    でも、「通常」の背景色=黒色(赤:0 緑:0 青:0)、「カーソルのある行」の背景色=橙色(赤:255 緑:128 青:64 見た目は茶色)で数パターンの色を試してみたのですが、なかなか思ったような色にならずどれも見づらい色になってしまいます。

    表示したい色(見た目の色)に対して設定すべき色は何かで分かるのでしょうか?
    背景色が黒っぽい色の場合は、キャレット色の変更は難しいのでしょうか?

     |  774  |  返信
  13. >IME 有効/無効でキャレットを変更できる隠しオプションを追加。
    対応ありがとうございます

    CaretColor=#DF2020
    CaretWidth=0
    CaretHeight=0
    ImeCaretColor=#20E820
    ImeCaretWidth=3
    ImeCaretHeight=0

    で思いどうりの動作になりました
    またマルチカーソルにも対応で見た目も非常に良くなり快適です
    ありがとうございました

     |  kiyohiro  |  返信
  14. >> 774 さん

    早速 Ver 3.0.1 をお試しいただきありがとうございます。

    オプションの CaretColor=#FF0000 で設定する色は背景が白のときを基準としたものとなっています。

    キャレットの色が背景色に対しての「反転色」になるのは Windows の仕様なのですが、黒背景とかだと確かに色が想像しづらいですね。

    ここでご紹介いただいた CaretColor などのソフトもたいてい「反転色」なのでこんなものだと思い込んでいましたが、改めて考えてみましたところ、Mery 側の背景色を基準にそこから逆算して CaretColor で指定した色になるように調整する仕組みを作れば何とかなるかもしれません。

    ただ、[カーソルのある行] の背景色までは計算に含めることができないため、基準は [通常] の背景色だけとなりますが、現状の「反転色」よりは色が作りやすくなると思うので、ちょっと研究してみようと思います。

    >> kiyohiro さん

    ご返信ありがとうございます。

    うまく行ったようで良かったです。

    とりあえず白背景の場合は現状の仕組みで大丈夫そうですが、黒背景のときに色の指定がややこしいということで、もうちょっと試行錯誤してみようと思いますので、もしかすると今後、仕様変更が発生するかもしれませんが、そのときはご了承ください。

     |  Kuro  |  返信
  15. >> 774さん
    > 表示したい色(見た目の色)に対して設定すべき色は何かで分かるのでしょうか?
    > 背景色が黒っぽい色の場合は、キャレット色の変更は難しいのでしょうか?

    横から失礼します
    取り敢えず急場しのぎとして、例えば緑色(赤:64 緑:128 青:64)を指定したい時は
    (256,256,256)からそれぞれを引き算して(192,128,192)を指定すれば、だいたい近い色になると思います

    > 「通常」の背景色=黒色(赤:0 緑:0 青:0)

    とのことなので、たぶん思い通りの色になるんじゃないかなと予想します
    計算式とか、わかんないですけどね

    私の場合、かなり黒に近いけど微妙に青緑(赤:16、緑:24、青:24)を通常背景色にしているせいか、8ずつ上下させて微調整していると
    「あんまり変わんないな」→「あんまり変わんないな」→「アレ?そんなに変わる?」
    という丸められてそうなポイントがある気がしますが、勘違いかもしれません

     |  シリル  |  返信
  16. >> Kuro さん
    ご回答、ありがとうございます。

    > キャレットの色が背景色に対しての「反転色」になるのは Windows の仕様

    そもそもこれを知りませんでした。
    どおりで、見づらいのは置いておいても色が違うなーと思っていました。

    > Mery 側の背景色を基準にそこから逆算して CaretColor で指定した色になるように調整する仕組みを作れば何とかなるかもしれません。

    私としてはそれほど必要な機能でもないので、急ぎませんし、なくても構いませんが、お時間が許しますようならちょっただけでも調査していただけるとありがたく思います。
    そもそも隠しオプションですので、面倒なようでしたらこの件については忘れてください。

    >> シリル さん
    ご回答、ありがとうございます。

    > 取り敢えず急場しのぎとして、例えば緑色(赤:64 緑:128 青:64)を指定したい時は
    > (256,256,256)からそれぞれを引き算して(192,128,192)を指定すれば、だいたい近い色になると思います

    なるほど。
    それは背景色が黒色ならではの方法なのですね。

    > 私の場合、かなり黒に近いけど微妙に青緑(赤:16、緑:24、青:24)を通常背景色にしているせいか、8ずつ上下させて微調整していると
    > 「あんまり変わんないな」→「あんまり変わんないな」→「アレ?そんなに変わる?」
    > という丸められてそうなポイントがある気がしますが、勘違いかもしれません

    ほぉー、背景色によるかもしれないにせよ、そんなこともあるのですね。
    時間があるときにでも、ちょっと試してみます。

     |  774  |  返信
  17. > キャレットの色が背景色に対しての「反転色」になるのは Windows の仕様

    知らなかったです
    確かにプロ生ちゃんエディション(黒背景)の方で
    キャレット色変更ソフトがおかしいと思い除外してました

    > とりあえず白背景の場合は現状の仕組みで大丈夫そうですが、黒背景のときに色の指定がややこしいということで、もうちょっと試行錯誤してみようと思いますので、もしかすると今後、仕様変更が発生するかもしれませんが、そのときはご了承ください

    通常zip版(白背景)のキャレットの色は設定出来たので
    プロ生ちゃんエディション(黒背景)も設定いました
    単純に通常zip版(白背景)の設定CaretColortとImeCaretColorの色を逆にすると
    多少色が変ですがIMEオン(緑)IMEオフ(赤)の認識は出来ました
    取り敢えずこれで大丈夫そうですが
    対策で綺麗になればいいなと楽しみに待ってます

    通常zip版(白背景)
    CaretColor=#DF2020
    CaretWidth=0
    CaretHeight=0
    ImeCaretColor=#20E820
    ImeCaretWidth=3
    ImeCaretHeight=0

    プロ生ちゃんエディション(黒背景)
    CaretColor=#20E820
    CaretWidth=0
    CaretHeight=0
    ImeCaretColor=#DF2020
    ImeCaretWidth=3
    ImeCaretHeight=0

     |  kiyohiro  |  返信
  18. 追加で要望なんですが
    検索
    置換え
    マーカー→追加、
    編集モードの設定→プロパティ→追加
    など各種入力欄のキャレットにも対応出来ないでしょうか?
    (ざっと見て気づいた所のみなので他の場所も)
    キャレット色の設定実装でキャレット色変更ソフトをやめたら
    上記入力欄の色がつかないのに気づきまして
    ご検討よろしくお願いします

     |  kiyohiro  |  返信
  19. Mery のエディター部分はプログラムに手を加えることができるのですが、検索ダイアログの入力欄などはすべて Windows の標準コントロールを使っていますので、Mery の機能ではキャレットを書き換えることができません。

    やるとしたら「CaretColor」などのソフトと同じように Windows のシステムキャレットを乗っ取って書き換えるかたちになるのですが、これは Mery 以外のアプリケーションにも影響を及ぼしてしまいます。

    一応、Windows の標準コントロールを使っている部分をすべて自前で開発すればできないことはないと思いますが、恐らく茨の道でしょう…。

    海外製のテキストエディターですと独自描画のコントロールを使っているものもいくつかあるので、もしかするとそういった機能が実装されているものもあるのかもしれませんが、私の知る限りではちょっと思い当たらないですね。

     |  Kuro  |  返信
  20. > Mery 側の背景色を基準にそこから逆算して CaretColor で指定した色になるように調整する仕組みを作れば何とかなるかもしれません。

    早々のご対応、ありがとうございます。
    カーソル色を分かりやすく設定できるようになりました。
    併せて、[カーソルのある行] を透明にしたのでカーソルが見やすくなりました。

    一応、IME 有効/無効を別の色で設定してはみたものの、実は今のところ私はカーソルの色を余り意識していないような気もします。

    > 標準機能にしてしまうと次は [カーソルのある行] や [水平罫線] の色も IME 有効/無効で切り替えたいとか、マルチカーソルのときに [カーソル (プライマリ)] と [カーソル (セカンダリ)] で色を分けたいといったご要望もありそうですね。

    ありそうですね。
    私も [カーソルのある行] や [水平罫線] の色のほうが目立つような気がしますが、そこまで望みません。

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

    > カーソル色を分かりやすく設定できるようになりました。

    色の逆算、数式に自信なかったのですがうまく動いているようで安心しました。

    > 一応、IME 有効/無効を別の色で設定してはみたものの、実は今のところ私はカーソルの色を余り意識していないような気もします。

    私も今まで必要性を感じなかったので実装しませんでしたが、カーソルの色が変わっても IME のオン・オフで誤入力してしまうのは変わりませんね…、慣れていないせいかもしれませんが ^^;

    > 私も [カーソルのある行] や [水平罫線] の色のほうが目立つような気がしますが、そこまで望みません。

    ですよね。やりすぎるとかえって邪魔になる気がします。Windows 10 ですと標準で IME のオン・オフを切り替えたときに画面の中央にバーン!と大きな文字で「A」とか「あ」が出ますが、あれは本当にヒドイ…

    とりあえず Mery の IME キャレットにつきましてはこのあたりで妥協ポイントとさせていただければと思います。

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