メニューのキャプションをカスタマイズできる「お気に入り」プラグイン

  1. 一応、出来た模様。GitHub のバージョン 2.3.1 を改造しました。
    以前から、「スニペット」みたいに「お気に入り」でも表示する文字列を設定できるようにしてよぉ、と言われていたアレです。
    「スニペット」のように、階層を表す先頭のタブに続く文字列をタブで区切っておくと、このタブの前をキャプションとしてメニューに表示し、タブの後ろをファイル名とみなします。キャプションにはアンド記号(&)を使ってアクセラレータ文字も設定できます。階層を表す先頭のタブ以外のタブがなければ今まで通り、ということにしてみました。
    とりあえず Favorites2.dll という名前にしておきましたので、こいつをインストールすると、Plugins\Favorites2\Favorites2.txt が設定ファイルになります。今まで使っていた Plugins\Favorites\Favorites.txt をこれにコピーして使っていただくと。
    先程、「とりあえず」といったのは、こいつには自分の名前の設定ファイルを作る習性があるからで、Favorites.dll という名前でインストールすると Plugins\Favorites\Favorites.txt を使うようになります。こうすると、今までの設定がそのまま生かせますから、このプラグインがバグって設定ファイルや編集中の文章がぶっ壊れても怒らない心の広い方は、そのようにしていただいても。
    名前は何でもいいので、いくらでもコピーして増やせます。しかし、アイコンもツールチップも同じなので、それほど有用ではない気もします。

    というような仕様で、デバッグ中ですが、ご意見・ご希望があればお聞かせください。

     |  honadaiku  |  返信
  2. はじめまして、sukemaruと申します(ブログのコメント欄では HNぽい でしたが、wiki の HN にあわせることにしました)。← ブログのほうで「お気に入りプラグイン」についての要望を投稿した者です。

    このたびは honadaiku さんが新仕様に改造したとのこと、胸を熱くして公開をお待ちしています。
    メニューラベルの変更とアクセラレータの装備は、まさに希望通りの仕様です。
    プラグインの開発・改造にどれほどの時間と労力を要するのかも知らずご苦労に報いることもかないませんが、モニターのこちら側では喜びのあまり奇声をあげて踊りまわっている次第です。

    「ご意見・ご希望」として本件にふさわしいか分かりませんが、ファイルの登録だけでなく、
    ・フォルダを登録して規定のファイラ(エクスプローラ)で開ける
    ・あらかじめ設定ファイルにリストアップしてあるグループ化した複数のファイルを一括で開ける
    ような機能の追加などはいかがでしょうか。
    前者は外部ツールに登録、後者はグループごとにマクロ化すれば簡単なことなのですが、(練習がてら作っているものもふくめて)外部ツールのアイテムやマクロは増えていく一方で、すでにメニューがパンクしているありさまなもので…
    今後もバージョンアップのご予定があるようでしたら、ご検討ください。

    現在デバッグ中との Favorites2、楽しみにお待ちしてます。

     |  sukemaru  |  返信
  3. >> honadaiku さん
    お気に入りプラグインのカスタマイズ、ありがとうございます。

    もともとお気に入りプラグインは私が開発したものではなく、著作権フリーで公開されていたプラグインを Mery 向けにちょっと改造しただけのものなので、内部では Delphi の標準機能をほとんど使ってなくて結構難しいですよね。

    私はプラグイン全般、使っていませんので特に要望というわけではないのですが、キーボードショートカットからプラグインを呼び出したとき、ポップアップメニューはキャレット位置に表示されるのですが、キャレット位置が X 軸 (つまり横ですが) で画面外にある場合に、メニューが変な位置に表示されてしまいます。

    ソースで言うと、Editor_GetCaretPos(hwnd, POS_DEV, @P); の部分ですね。

    これは、Mery 側の不具合で、次のバージョンでは修正する予定ですので、もし気づかれていましたらそのままスルーしておいてください。

     |  Kuro  |  返信
  4. ひとまず、できているところまで公開させていただきました( https://www.haijin-boys.com/wiki/お気に入り2 )。

    >>Kuro さん
    DelFusa Library が使いこなせていないので、mery-plugin-favorites と mery-plugin-snippets を見比べて合成しただけです。
    バイナリを小さくするワザのようですが、なんだか、小麦粉を練ったものを台の上で麺棒を使って延ばすかわりに、空中に投げ上げてピザ生地を作る感じ?

    ポップアップ位置の件、了解です。私、そんな高度なことできないので、Kuro さんにお任せです。

    >>sukemaru さん
    > ・フォルダを登録して規定のファイラ(エクスプローラ)で開ける
    > ・あらかじめ設定ファイルにリストアップしてあるグループ化した複数のファイルを一括で開ける
    についてもできそうなので、しばしお待ちください。

    実は、マクロツールバーを追加するプラグインも実験中...

     |  honadaiku  |  返信
  5. MeryWiki まで更新していただいてありがとうございます。

    > DelFusa Library が使いこなせていないので、mery-plugin-favorites と mery-plugin-snippets を見比べて合成しただけです。

    私も DelFusa さんのソースを改変しただけなので…。悪事には使わないこと、誓います!

    > バイナリを小さくするワザのようですが、なんだか、小麦粉を練ったものを台の上で麺棒を使って延ばすかわりに、空中に投げ上げてピザ生地を作る感じ?

    そうなんですよね。当時は 純正 C++ アプリが数キロバイトだったのに、Delphi 製アプリって平気で 1 メガ超えちゃってたので、なんとかファイルサイズを小さくする研究がされていました。

    むしろ、小麦粉まで自分で作っちゃう感じ?

    Mery の Favorites のソースはちょっと Delphi 純正のライブラリを使ってしまっているので、元のプログラムよりもファイルサイズが大きくなってしまっています。

    あと、MeryWiki に記載されている PerMonitorV2 ですが、お気に入りプラグインに関しては特に何もしなくても勝手に対応されます。(Mery 本体側で対応してますのでそれが勝手に反映されます)

    試してみた感じですと、Favorite2 プラグインでも Windows 10 で PerMonitorV2 でちゃんと拡大縮小されていました。

     |  Kuro  |  返信
  6. PerMonitorV2 については、実験していませんでした。失礼しました。
    MeryWiki 直しておきました。

     |  honadaiku  |  返信
  7. > ひとまず、できているところまで公開させていただきました
    ありがとうございます。こんなに早く実現するとはおもってもみなかったことでしたが、これはパーフェクト!
    さっそくツールバーのいちばん左のいちばんいい場所に置かせていただきました。
    いままでのお気に入りのリストを流用できたので、時間がかかったのはアクセラレータの割りふりだけでした。 :)

    > > ・フォルダを登録して規定のファイラ(エクスプローラ)で開ける
    > > ・あらかじめ設定ファイルにリストアップしてあるグループ化した複数のファイルを一括で開ける
    > についてもできそうなので、しばしお待ちください。
    > 実は、マクロツールバーを追加するプラグインも実験中...
    凄い、素敵、素晴らしい! 実装されるとフォルダやファイルへのアクセスがとても簡単になりますね。楽しみに待たせていただきます。
    なにからなにまで至れり尽くせりな明るい展望がひらけてきたかんじですね。XP使いの私としましては、これからは先行き暗くなるのかなとおもっていたところでしたので欣喜雀躍大感激です。 XD
    つい先日マクロでテキスト入力フィールドを呼び出せることがわかったり JavaScript の関数の使い方がなんとなく分かってきて、あらためて「引用の追加」と「カッコで囲う」マクロをいじりなおしている私からすると魔法のようなお話ですね(「引用の追加」はマクロの勉強にとても役立っているので公開停止になったのは残念…)。

    マクロツールバーというと、もしかしてアイコンだけの表示にできるようになるかんじでしょうか?
    標準のツールバーアイコンのをマクロ化して置けるようにマテリアルデザインっぽいアイコンと「小マクロ集」を拡充しないといけなくなるかも :D Kuro さんからお赦しが出ればマテリアルカラーアイコンから…(ゴニョゴニョ

     |  sukemaru  |  返信
  8. 改造、お疲れさまです。
    さっそく使わさせていただきます。

    サポート先は、このディスカッションにしておいて良いのでは?と思います。
    個人的には、ここに続けてくれたほうが経過が分かってありがたいですが、質問、要望、不具合報告などをする側からすると、新規に開始したほうがやりやすいのかな?
    ある機能に関して1つにまとまっていたほうが良いのか、その機能の個々の項目ごとにあったほうが良いのか、
    判断は人によって異なると思いますので、現状のままでも全く問題ありません。

     |  名無し  |  返信
  9. > サポート先は、このディスカッションにしておいて良いのでは?と思います。
    どぞー、フォーラム機能はそもそも某巨大掲示板みたいに適当に使って頂くために作ったものなので、お気になさらずご自由に使っていただければ幸いです。

    トップページのサイドバーに新着として表示されると、気になっちゃう!っていうご意見があるようなら、「sage」みたいな機能、作ってみましょうか… (w

    って、そこまでこのブログの閲覧ユーザ多くないですから、ほんとお気になさらず。

    > ある機能に関して1つにまとまっていたほうが良いのか、その機能の個々の項目ごとにあったほうが良いのか、
    今まで質問とか要望以外では書き込みがなかったもので、開発者の方がご意見伺いのためにスレッドを立ててくれたのは初めてなので嬉しい限りです。

    1 つにまとまっていたほうが情報が集約できる (Google 検索でヒット率あがる) ので良いかなって思います。

     |  Kuro  |  返信
  10. フォルダを登録する機能と、複数のファイル・フォルダを登録する機能を搭載してみました。
    お試しください。

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

    あれっ、上手く伝わっていなかったのかな。
    お気に入り2のページで、サポート先がフォーラムのトップページになっているので、
    意見、要望ごとにディスカッションを開始する(「スレを立てる」と言ったほうが分かりやすいかな)よりも、
    このディスカッションに続けていった(サポート先をこのディスカッションにした)ほうが良いのかなと思ったのですが、
    余計なお世話でしたね。

    > トップページのサイドバーに新着として表示されると、気になっちゃう!っていうご意見があるようなら、「sage」みたいな機能、作ってみましょうか… (w
    気になるってことは全くなく、
    そこの新着からページを開いているので、この仕組みは変えないで欲しいと思います。

     |  名無し  |  返信
  12. > フォルダを登録する機能と、複数のファイル・フォルダを登録する機能を搭載してみました。
    さっそく、試してみたいと思います。

    フォルダを登録しておくと、開くダイアログでそのフォルダが表示されると思いましたが、
    元々の要望がファイラ(エクスプローラ)で開くだったのですね。

     |  名無し  |  返信
  13. > フォルダを登録しておくと、開くダイアログでそのフォルダが表示されると思いましたが、
    それは、難しいのです。
    参考: https://www.haijin-boys.com/discussions/3115#discussion-3120
    そんなわけで、上記のスレッドにも出てくる、https://www.haijin-boys.com/wiki/よく使うフォルダ のアイデアをいただいた感じです。

     |  honadaiku  |  返信
  14. > フォルダを登録する機能と、複数のファイル・フォルダを登録する機能を搭載してみました。
    ありがとうございます、これはすごく勝手がいいですね。
    実現した "夢の機能全部入り" の「お気に入りプラグイン2」は、想像していた以上に快適なことこの上なしです。

    セッションのパターンを登録しておけば作業したい内容にあわせてまとめてパパッと開けるうえにメニューやツールバーを圧迫しない! 登録した順番どおりに開いてくれるので、ファイルをまとめて Mery にD&Dするよりも便利です。 XD
    やはりアクセラレータを設定できるのが使いやすいですね。
    フォルダウインドウが開くというのは「コモンダイアログやフォルダツリーで…」というパターンよりも私としては扱いやすいです(提案した本人ですから当然ですが、フォルダウインドウはマウスジェスチャで簡単に閉じられるし、開きっぱなしにしておくことのほうが多いので)。 :D
    ランチャーとしての機能がまとまったことで、外部ツールバーのアイコンは Mery で開けないWebサイトへのショートカットや外部アプリへのショートカットだけに減らせそうです(もしかして、外部ツールで開くファイルやショートカットも登録できるようにしたりとかもできるのでしょうか…?)

    "mkIISR" のネーミングにも笑わせていただきました。ザナドゥ、イース、ハイドライド2…。でも「お気に入り2」は、ディスク2枚出し入れしていた旧機よりもずっと便利ですよ。
    今はただただ嬉しすぎて頭の中がわけわからなくなっちゃっていますが、長く大切に使わせていただきます。このたびは本当にありがとうございました。

     |  sukemaru  |  返信
  15. ご返信ありがとうございます。
    なるほど。了解しました。

     |  名無し  |  返信
  16. > もしかして、外部ツールで開くファイルやショートカットも登録できるようにしたりとかもできるのでしょうか…?
    できます。外部ツールのように結果を受け取ろうとすると大変ですが、丸投げでよければ、他のアプリケーションを起動するのは簡単です。
    https://www.haijin-boys.com/software/mery/mery-2-6-10#comment-1774 のような、オプション付きで開く実現方法として、

    C:\Mery\Mery.exe /r C:\Mery\Mery.txt

    とか登録できるようにしようとしていました。
    ファイル名・フォルダ名のみの登録と、どう見分けたらいいかなあ、スペース区切りで複数の文字列がある場合かなあ、しかし計算機みたいな引数のいらないアプリはどうするのかなあ、そんなもの登録できなくても困らないかなあ、と悩んでいるところでした。

    > "mkIISR" のネーミングにも笑わせていただきました。
    バージョン表記まで喜んでいただき、私もうれしいです。

     |  honadaiku  |  返信
  17. > 計算機
    「電卓」だったw

     |  honadaiku  |  返信
  18. > 外部ツールのように結果を受け取ろうとすると大変ですが、丸投げでよければ、他のアプリケーションを起動するのは簡単です。
    うひょっ、JPG, PNG, PDF などが登録できるわけですよね。 :D 「お気に入り2プラグイン」がファイルランチャになるというのは嬉しいかぎりです。
    仕組みとしてはFavorites2.txt にはファイル/フォルダパスを登録するだけにして、単純にシステムの関連付けで開くほうが分かりやすい気がします。
    参照先の投稿をしていたのは私自身なのですが、Mery で開けるファイルの場合のコマンドライン引数 /r については、先ほど「編集モードの自動選択」マクロをいじってファイル名や拡張子で ReadOnly = true にするようできましたので、個人的には代替策ができていたり… (小マクロ集のときには気付いていませんでした)

    もしもコマンドライン引数まで渡せるようになっちゃうと、ツールバー1本分以上の機能を搭載してしまうことになりそうですね。 :)
    外部アプリのコマンドライン引数については「外部ツール」の領分のようにおもえますが、設定ファイルをいじりたおせるような人だと引数を渡せないと不満を感じてしまうものでしょうか?
    高度な機能を使う/使わないは利用者の判断する部分ですが、使いこなせない人においては設定がやさしい仕様のほうが喜ばれるとおもいます。

     |  sukemaru  |  返信
  19.  導入させて頂きました。
     私はショートカットキーはよく使いますが、アクセラレータはなかなか慣れなくて使いこなせない人間なのですが、フォルダを登録できるのが素晴らしいと思いました。
     Meryを使い始めてまだまだ日の浅い私ですが、最初に「含んでいるフォルダを開く」マクロが便利だと思って使っていたんです。しかし、しばらくして外部ツールのエクスプローラが存在していることに気づきました。
     お気に入り1でファイルを開いてからエクスプローラでフォルダを開く、うんうん便利、と思っていたところに、お気に入り2から直にフォルダを開けるようになり、日々の進化に驚いています。

     |  シリル  |  返信
  20. 今のバージョンでは、ファイルなら Mery で開いて、フォルダなら ShellExecute 関数に渡す、という処理をしています。この、ShellExecute 関数というのは、ほぼ「ファイル名を指定して実行」([WIN] + R で出てくるやつ)と同じ感じです。
    JPG, PNG, PDF などのファイルを渡すと関連付けのアプリで開きますし、アプリ名も指定すると関連付けしていないアプリでも開けます。
    今、ちょっと試してみたら「shell:Libraries」や「::{031E4825-7B94-4dc3-B131-E946B44C8DD5}」で「ライブラリ」を開いたりとかもできますね(公開してるバージョンでは、フォルダの存在チェックでグレーアウトして選択できないですが)。

    しかし、フォルダはいいとして、ファイルを何で開くかをどうやって決めようかなあ。Mery に関連付けしたファイルしか開けないのでは、明らかに退化してますよねえ。html ファイルはブラウザで見たいけど Mery で編集したいとか、pas ファイルは Delphi で開きたいけど Mery でも見たいとかありますもんねえ。

    設定メニューをつくって、Mery で開く拡張子(あるいは、外で開く拡張子)をリストアップしておきますか。
    なんか、拡張子の登録が面倒くさそうだし、小回りが利かなそうですかねえ。

    Favorites.txt をそのまま使えるという互換性と、凝ったことをしなくてよければ「お気に入りに追加」をクリックするだけでいいという手軽さは、残したいところですしね。

    頭にファイル名で使わない文字(例えば「*」とか)をつけて区別するというのも思いついたんですけど。

    D:\sample.html
    D:\sample.pas

    だったら Mery で開く(今まで通り)

    *D:\sample.html
    *D:\sample.pas

    だったら関連付けのアプリで開く

    とか。
    やっぱり面倒くさいかなあ。

    なにか、いいアイデアあります?

    >> シリルさん
    私も Alt は指がつりそうなので、あまり使わない派ですw

     |  honadaiku  |  返信
  21. 私としては「既定のプログラムで開く」だけでいいんじゃないかなとおもうのですが… :|
    Windows の「ファイルを開くプログラムを選択」ダイアログに渡して… とやってしまうとコマンドライン引数が渡せなくなりそうですし、方向性としてはダメなんですよね?
    > 頭にファイル名で使わない文字(例えば「*」とか)をつけて区別するというのも思いついたんですけど。
    外部アプリを指定するばあいに「*」や「>」などの「ファイル名のダメ文字」を "冠" につけるというのはシンプルで分かりやすそうですね。加えて、ファイルパスとの "繋ぎ" には「|」などの別のダメ文字を半角スペースの代用にするというのはいかがでしょうか?

    例えばですが以下のような
    ・Mery で開けるファイルや、既定で Mery で開く拡張子のファイルなら( "/r" はコマンドライン引数)

    /r|c:\ほげ\ほげら.txt

    ・Mery で開けないファイルを既定のプログラムで開くように登録するなら(それともファイルパスだけ記述して冠のメタ文字は不要?)

    *c:\ふが\ふんが.pdf

    ・外部アプリ「foo.exe」を指定して、オプション「-bar」で開くように登録するなら

    >foo.exe|-bar|c:\ぴよ\ぴよよ.html

    設定ファイルへの記述上の "ダブルクォート" の要否などは私には分からないです。:(

    マクロライブラリに「編集モードの自動選択」マクロのページを新規に設けて Mery のコマンドライン引数をイベントマクロで代替する方法も載せておきましたので、「Mery のコマンドラインはマクロでやれ」ということになるようでしたら ReadMe にでも… :)
    https://www.haijin-boys.com/wiki/編集モードの自動選択

    外部アプリをアプリを指定して起動できるようになるなら「いま Mery で開いているファイルを RichCopy でデスクトップにコピーすることはできないのですか?」みたいなことをいう人があらわれないともかぎりませんよね。さすがに「それは外部ツールの領分でしょ」というお話。 :)

     |  sukemaru  |  返信
  22. では、外部で開くのは「*」をつけるという方針で。

    どっちで開くか判ってしまえば、スペースは問題になりません(外部で開くものの判断基準として「スペース区切りでパスが二つ以上あるもの」という条件はどうだろうか、という話だったので)。
    「ファイル名を指定して実行」で試してみて、うまくいくものは、その頭に「*」をつけて登録すれば、同じようになるはずです。

    *c:\ふが\ふんが.pdf

    Acrobat Reader とか Edge とかが起動して ふんが.pdf が表示されるはず。

    *foo.exe -bar c:\ぴよ\ぴよよ.html

    (foo に PATH が通っていれば)foo が起動して bar な感じで ぴよよ.html を何かするはず。

    同様に、

    *C:\Mery\Mery /r c:\ほげ\ほげら.txt

    もできるはずなので、Mery だけはアプリ名を省略できることにして、

    /r c:\ほげ\ほげら.txt

    と書けるということにしましょう。オプションなしだったら、そのまま Mery で開くので、これでいけるはず。

    1.文字列に対応するファイルが存在する
    → Mery で開く
    2.文字列に対応するフォルダが存在する
    → そのまま ShellExecute 関数に渡す
    3.文字列が「shell:」または「::{」で始まる
    → そのまま ShellExecute 関数に渡す
    4.文字列が「http://」または「https://」または「mailto:」または「ftp://」または「file://」で始まる
    → そのまま ShellExecute 関数に渡す
    5.文字列が「*」で始まる
    → 「*」を取って ShellExecute 関数に渡す
    6.文字列が「/」で始まる
    → (Mery のパス)+「Mery.exe 」をつけて ShellExecute 関数に渡す

    1.と 2.が今までにできていたところ。
    3.と 4.は、昨日実験してうまくいったので、後程 Wiki に上げておきます。
    5.以降は後日...

     |  honadaiku  |  返信
  23. お疲れさまです。
    URL と file:// 形式のパスの起動を確認しました。後者の場合パーセントエンコードは不要なんですね。 :D
    URL形式で半角スペースつきのパスはまずいのかとおもったら「然にあらず」とは!
    firefox のロケーションバーからコピペすると「 file:///」(←スラッシュ3本)プラス「パーセントエンコードされたパス」になるという罠。
    > 「ファイル名を指定して実行」で試してみて、うまくいくものは、その頭に「*」をつけて登録すれば、同じようになるはずです。
    > 5.文字列が「*」で始まる
    > → 「*」を取って ShellExecute 関数に渡す
    なるほど、「*」つきでブラウザを指定してしまえば開けるようになりそうですね。

    「*」をつければシェル上と同じようにあつかえるということは、PATH のとおったフォルダパスの省略や %APPDATA% のような短縮表記も使えるということでしょうか。ますます楽しみです。 :)

     |  sukemaru  |  返信
  24. コマンドラインオプションをつけて開く機能と、外部のアプリケーションで開く機能ができました。

    今のところ、%APPDATA% のような環境変数が使えません。
    「ファイル名を指定して実行」では使えるのに...

     |  honadaiku  |  返信
  25. > コマンドラインオプションをつけて開く機能と、外部のアプリケーションで開く機能ができました。

    更新おつかれさまです。
    Yeeeeaaahhh!!! *hoge.JPG や *fuga.PDF を既定のプログラムで開けました。 :)
    外部アプリのコマンドラインオプションでは /xxx や -yyy 形式のもの、記号なしの zzz 形式のパラメータも使えました。 :D
    そのうえ PATH がとおったファイルでの省略記述ができるようになり、たいへんありがたいことです。
    複数ファイルをいっぺんに開けるし「お気に入り2 」スゴ過ぎ!
    Mery がこんな便利なランチャーになるだなんて、「お気に入り2 サイコー!!」と喚きながら転げまわってしまいました。 XD
    本当におつかれさまでした。素晴らしいプラグインを作っていただきありがとうございました。と言おうとおもったら Readme には …
    > (悔しいので引き続き研究中...)

    以下、ご報告まで。
    %変数% 形式の短縮パスについてはこちらのXPでも開けませんでした。「*%APPDATA%」では無反応、「*explorer %APPDATA%」ではエクスプローラの「存在しないかディレクトリではありません」エラーです。
    PATHをとおしたフォルダにショートカットファイル "A.lnk"( %APPDATA% へのショートカット)を置いて、Favorites2.txt に「App&Data【TAB】*A」と記述したら Application Data フォルダは開けるようでした。※拡張子 .LNK は環境変数 PATHEXT にとおしてあります

    XPのエクスプローラでは「デスクトップ【TAB】*explorer /e "デスクトップのフルパス"」だと「パス '/e デスクトップのフルパス' は存在しないかディレクトリではありません」エラーになりました。/e, や /root, などのオプションでもパスの一部とみなされるようです(外部ツールでは「/e, /root, "デスクトップのフルパス"」はオプション指定したとおりに開けました)。現行のOSで正常に機能するのでしたら切り捨てていただいてもよいのかもしれませんが…

     |  sukemaru  |  返信
  26. いろいろ実験していただき、ありがとうございます。
    フォルダを開くだけなら、

    AppData【TAB】shell:appdata

    で、いいとして、

    Mery.iniを編集【TAB】*notepad %APPDATA%\Mery\Mery.ini

    とか出来ないのが悔しいなあ、という。(「ファイル名を指定して実行」では「notepad %APPDATA%\Mery\Mery.ini」ができるのに...)

     |  honadaiku  |  返信
  27. 開発、お疲れ様です。

    お気に入りプラグイン、すっごい便利になってる!
    みなさんの技術力、すごい…。私もできるだけ協力したいと思うのですが、技術力が足りてなくてついていけていません。

    的外れかもしれませんが、%APPDATA% のような環境変数の展開は、Mery の外部ツールの呼び出しでも使用していますので、貼っておきます。(Delphi XE2 ですが…)

    uses
      Winapi.Windows
    
    function ExpandEnvStrings(const InString: string): string;
    var
      S: string;
      Len: Integer;
    begin
      Len := ExpandEnvironmentStrings(PChar(InString), nil, 0);
      SetLength(S, Len);
      ExpandEnvironmentStrings(PChar(InString), PChar(S), Len);
      Result := PChar(S);
    end;

    で、ShellExecute にパスを渡す前に S にパスが入ってるとして、

    S := ExpandEnvStrings(S);

    みたいな感じで変換をかけてやると %% の環境変数を展開してくれます。

     |  Kuro  |  返信
  28. できました!
    ありがとうございます。

     |  honadaiku  |  返信
  29. Kuro さんのおかげで、% で挟んだ環境変数が使えるようになりました。

    Mery.iniを編集【TAB】*notepad %APPDATA%\Mery\Mery.ini

    とかできます。

     |  honadaiku  |  返信
  30. おおー!環境変数の展開、うまく動いたようで良かったです。
    お気に入り2、かなり便利になりましたね。もう、公式プラグインのお気に入り1 のほうは用済みな気がします (w

     |  Kuro  |  返信
  31. キター!!!
    *%APPDATA% や *%WINDIR% 、*%PROGRAMFILES% など登録できました。
    お気に入りのフォルダとファイルの登録が済むとファイルメニューの「開く」コマンドを使うことがなくなりますね。 :)
    ラベル表示とアクセラレータ、サブカテゴリの展開、複数ファイルの一括実行、etc... 「お気に入り2 サイコー!」
    素敵なプラグインを提供していただき、本当にありがとうございます。おつかれさまでした。

     |  sukemaru  |  返信
  32. お気に入り2の『追加された機能』の説明がわかりやすくて嬉しいです
    ところで、その中に登場する、

    >*"C:\Users\xxxx\Documents\Meryの秘密 隠し設定完全解説.pdf"

    これがすごく気になります。欲しい!

     |  シリル  |  返信
  33. その後も「お気に入り2」を愛用しています。 :)
    "No Favorite2, No Life!" (これがない Mery ライフなんてありえない!) というぐらいにお気に入りっぷりで、外部ツールバーを表示することがなくなっていまいました。 …外部ツールにはたまにメニューからアクセスしますが。

    最近は「ブックマーク」機能も多用するようになり「いざ、お気に入り2の Favorite2,txt にも」とおもいきや、「お気に入りに追加」コマンドで追加したファイルパスは Favorite2,txt の先頭行に登録されるので、ブックマークは適用できないようです。正しくは、ブックマークできないのではなく、「お気に入りに追加」すると Favorite2,txt の既存のブックマーク位置がズレてしまう、というかんじです。
    アウトラインで「空白の数」にすればだいたいは事足りるのですが、個人的な事情として特定の行をブックマークしておいておきたいことがあり、また、アウトラインだとキャレットのフォーカスがアウトラインペインに取られるので「ブックマーク一覧ジャンプ」マクロのほうが扱いやすいかな、という次第です。

    @honadaiku さん
    よろしければ、お時間のあるときに「お気に入りに追加」で Favorites2.txt の末尾に登録できるようにしてはいただけないでしょうか? (たとえばですが、Mery\Plugins\Favorite2\Favorite2.ini になんらかのオプションキーを設けるようなかたちで)
    ご検討よろしくおねがいします。

     |  sukemaru  |  返信
  34. ご無沙汰しております。
    仕事が忙しくなったりして、しばらく見に来ておりませんでした。
    末尾に追加できるようにしますので、しばし、お待ちください。

     |  honadaiku  |  返信
  35. ご返信ありがとうございます。
    > 末尾に追加できるようにしますので、しばし、お待ちください。
    ありがとうございます。
    個人的にはお気に入りアイテムはだいぶ固定されてきていますので、ごゆっくりで大丈夫です。 :)

    既定のプログラムやアプリ指定で任意の形式のファイルを開けるので
    「お気に入り2」はランチャーとしてもますます大活躍中。 :D
    まさに「No Favorites2, No Mery」、すばらしいプラグインです。

     |  sukemaru  |  返信
  36. iniファイルを使って、末尾に追加できるようにしました。
    お試しください。

    # FH になって「mkII」がなくなってしまったのは、バージョン表記としていかがなものか...

     |  honadaiku  |  返信
  37. > iniファイルを使って、末尾に追加できるようにしました。
    > お試しください。
    ありがとうございます。
    昨夜は動作確認とブックマークの設定で寝落ちしてしまい御礼を書けませんでした。
    動作仕様の指定は ini ファイルかメニュー内のチェック項目かどちらになるかなとおもっていましたが、ちょこちょこ設定を変えるような部分ではないのでメニューを圧迫しない外部 ini ファイルの仕様はうれしいかんじです。 :D

    また、ブックマークとの折り合い以前に、最上部にはよく使う決まったアイテムをピン止め的に置いておけるので使いやすくなったようにおもいます。短期間だけ追加しておく暫定的なアイテムを置く位置を最下部にしているので、Favorites2.txt のメンテも楽になりそうです。

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