【要望】起動オプションでウィンドウの表示位置を指定

  1. いつも開発ご苦労様です。Mery、愛用させていただいてます。
    ひとつ要望があります。
    ウィンドウの表示位置を指定して開くコマンドラインオプションを追加していただけないでしょうか。
    (例) Mery.exe /pos 70 50 955 715
    ※ /pos の後に left top right bottomの位置を指定する。

    オプション設定でも「ウィンドウ位置とサイズを復元」という項目がありますが、ここでサイズを指定しても、手動でウィンドウの位置と大きさを変えて一旦閉じ、再度Meryを起動すると意図しない位置(多分、ウィンドウの左上の位置だけが記憶され、ウィンドウサイズはオプションで指定した大きさになっている)に開くことがあって、困っています。

    お忙しいところ恐縮ですが是非ご検討下さい。
    よろしくお願い致します。

     |  Nakajima  |  返信
  2. Mery をご愛用くださりありがとうございます。

    > ウィンドウの表示位置を指定して開くコマンドラインオプションを追加していただけないでしょうか。

    ご意見ありがとうございます。
    検討させていただきます。

    オプションで指定した場合はおっしゃる通り、ウィンドウの左上の位置が記憶され、ウィンドウサイズはオプションで指定した大きさになるようにしています。

    意図しない位置というのは、上記の位置に復元されないということでしょうか?(それなら不具合の可能性がありますね…)

    ちなみにオプションでウィンドウサイズの指定を縦横 0 に指定するとウィンドウサイズも記憶・復元されます。

     |  Kuro  |  返信
  3. Kuro様
    ご返信、ありがとうございます。

    「意図しない位置」というのは、
     1. 例えばオプション設定で、ウィンドウサイズを 800x600 に設定。
     2. 開いたウィンドウを 400x400くらいに小さくして画面右下の隅っこに移動。
     3. 一旦ウィンドウを閉じる。
     4. 再度 Meryを起動すると画面右下にウィンドウが画面からはみ出た状態で表示される。
     という感じです。

    閉じた時のウィンドウ左上の位置は記憶され、ウィンドウサイズはオプションで指定した大きさになっているということだと思いますので、不具合ではなく仕様通りの挙動だと思います。

    常に画面の中央に開くように、ファイルの関連付けで起動オプションを指定した状態で登録しておくことが出来ればベストだと思い、提案させていただきました。
    (ファイルの拡張子によってウィンドウサイズを変えることも出来て便利だと思います。)

    素晴らしいソフトをありがとうございます。
    開発、大変だと思いますが、今後ともMeryの進化を期待しています。

     |  Nakajima  |  返信
  4. 書き込みありがとうございます。

    なるほど、理解いたしました。
    確かに仕様通りの動作ではありますが、そういったシーンでは画面外にはみ出すことになりますね。

    > 常に画面の中央に開くように、ファイルの関連付けで起動オプションを指定した状態で登録しておくことが出来ればベストだと思い、提案させていただきました。

    起動時引数によるウィンドウサイズの指定、ちょっと作ってみようと思ってみたものの、現在の仕様からするとなかなか手ごたえがありそうな感じでしたので「あうっ!」と開いたソースコードを閉じてしまいましたorz

    たぶん、技術的には可能だと思います。

    > 素晴らしいソフトをありがとうございます。
    > 開発、大変だと思いますが、今後ともMeryの進化を期待しています。

    応援ありがとうございます。
    今後ともごひいきによろしくお願い申し上げます。

     |  Kuro  |  返信
  5. Kuro様

    ご検討いただき、ありがとうございます。 m(_ _)m

    > 起動時引数によるウィンドウサイズの指定、ちょっと作ってみようと思ってみたものの、現在の仕様からするとなかなか手ごたえがありそうな感じでしたので・・・

    そうでしたか…。
    お時間に余裕のある時にでも、是非再検討いただければ幸いです。

    ちなみに、代替案を考えてみたのですが
    オプションの「ウィンドウ位置とサイズを復元」の下位項目に、現在ある「指定サイズ」の他、

    (1) 位置: Left=[ ] Top=[ ] ・・・ ( [ ]内にはウィンドウ左上の座標を指定)
    (2) 「前回と同じ位置に開く」チェックボックス (ここにチェックを入れておくと今と同じ挙動になる)

    というような項目を設けるという方法でも良いのかなと思いますがどうでしょう。
    こっちの方がかえって面倒かもしれませんが…?

    いろいろ勝手な意見を挙げてすみません。
    仕事柄、毎日「Mery」に向き合っている時間が長いもので、つい…
    今後ともよろしくお願い致します。

     |  Nakajima  |  返信
  6. Nakajimaさん、Kuroこんにちは
    マクロライブラリに「ウィンドウの位置とサイズを拡張子で指定」を置きました。
    mery だけでは完結できずに win32Api を呼び出す sfcmini というライブラリの
    インストールが必要となりますし、位置とサイズはマクロファイル中にハード
    コーディングするため「好きな時に好きな位置に」というわけにはいきませんが、
    よろしければ使用してみてください。

    また、当然ながら mery を既にタブ表示モードで起動中の場合は、何もしないで
    終了します。mery はタブ表示モードの場合、タブをウインドウの外にドラッグ
    すると別ウインドウにすることができるのですが、現在のところマクロで同じ
    操作はできない模様です。

     |  papagoat  |  返信
  7. papagoat様
    マクロのご提供、ありがとうございます。

    実は自分も最初「マクロで出来ないだろうか」とトライしたのですが、力不足により断念してしまいました。
    なるほど、SFC miniを使ってwin32Apiを呼び出すという発想ですか。
    これなら拡張子別にウィンドウの位置とサイズを指定して開くことが出来ますね。

    Meryの起動が遅くなるかな?という心配が一瞬よぎったのですが、試してみたところ(私の環境では)問題ないようでした。
    当面はこの方法で対処させていただくことにします。
    本当にどうもありがとうございます。感謝☆ m(__)m

     |  Nakajima  |  返信
  8. > Nakajimaさん、Kuroこんにちは
    わ!呼び捨てにしてた。Kuroさまごめんなさい。

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