Windows 10の仮想デスクトップ機能利用時における挙動に関する要望

  1. Windows 10では標準で仮想デスクトップ機能が搭載されています。

    プログラムの開発中多くのアプリケーションを立ち上げているとデスクトップが混雑するため、利用用途に合わせて仮想デスクトップを切り替えてアプリを起動させています。

    この時、タブ機能を有効にしているMeryが起動している状態でMeryがいない仮想デスクトップからMeryでファイルを開くと、仮想デスクトップが切り替わって既存のMeryで起動します。

    この挙動を今開いている仮想デスクトップ上でMeryがいない場合は新しくMeryを開く、というような挙動ができたらとてもありがたいです。

     |  ひつじのひと  |  返信
  2. Windows 10 の仮想デスクトップへの対応ですが、一応、Ver 2.5.3 で対応したのですが、残念ながら Ver 2.5.4 で廃止となっています。

    それ以降のバージョンですと、基本的に別のデスクトップから Mery を起動すると最初に起動している Mery のウィンドウでタブとして開かれてしまいます。

    https://www.haijin-boys.com/software/mery/mery-2-5-4

    上記の記事に記載していますが、一応、複数のデスクトップで Mery を起動できない対策は用意してあって、以下の隠しオプション

    [General]
    OpenIn=1

    を指定しておけば、Mery のアイコンをダブルクリックなどして新規に開く場合は別のデスクトップでも新規ウィンドウで起動でき、ファイルを Mery のアイコンにドラッグアンドドロップしたり右クリックから開いた場合は、最近使ったウィンドウの新しいタブで開くようにすることができます。

    なお、デスクトップ上に Mery が存在しない状態でファイルを開いた場合は、ご希望の動作にはなりませんがご了承ください。

    仮想デスクトップへの対応を中止した理由ですが、これは Windows 側から提供されている仮想デスクトップを操作するための仕組み (API) にバグがあったためです。

    当時、マイクロソフトの方針が Win32 アプリ (Mery のようなデスクトップアプリ) を廃止する方向だったため、バグが修正される可能性は低いと判断し、実装を断念しました。

    参考: https://www.haijin-boys.com/discussions/3053

    でも、最近になってマイクロソフトの方針が Win32 アプリを復活させて、Windows 10 の機能を Win32 アプリにも解放してくれることになったらしいので、もしかすると仮想デスクトップ関連の API が整備され、仕様も変わっているかもしれません。

    Mery の開発を再開した際には、改めて調査してみたいと思います。

     |  Kuro  |  返信
  3. > Windows 10 の仮想デスクトップへの対応ですが、一応、Ver 2.5.3 で対応したのですが、残念ながら Ver 2.5.4 で廃止となっています。
    >
    > それ以降のバージョンですと、基本的に別のデスクトップから Mery を起動すると最初に起動している Mery のウィンドウでタブとして開かれてしまいます。
    >
    > https://www.haijin-boys.com/software/mery/mery-2-5-4
    >
    > 上記の記事に記載していますが、一応、複数のデスクトップで Mery を起動できない対策は用意してあって、以下の隠しオプション
    >
    > を指定しておけば、Mery のアイコンをダブルクリックなどして新規に開く場合は別のデスクトップでも新規ウィンドウで起動でき、ファイルを Mery のアイコンにドラッグアンドドロップしたり右クリックから開いた場合は、最近使ったウィンドウの新しいタブで開くようにすることができます。
    >

    おおおお・・・気づいておりませんでした。
    おお・・・気づいておりませんでした。こういう経緯があったのですね・・・。

    > なお、デスクトップ上に Mery が存在しない状態でファイルを開いた場合は、ご希望の動作にはなりませんがご了承ください。

    承知しました!

    > 仮想デスクトップへの対応を中止した理由ですが、これは Windows 側から提供されている仮想デスクトップを操作するための仕組み (API) にバグがあったためです。

    > でも、最近になってマイクロソフトの方針が Win32 アプリを復活させて、Windows 10 の機能を Win32 アプリにも解放してくれることになったらしいので、もしかすると仮想デスクトップ関連の API が整備され、仕様も変わっているかもしれません。
    >
    > Mery の開発を再開した際には、改めて調査してみたいと思います。

    なるほどAPI側のバグ・・・。それはどうにもならないですね・・・。MSが対応してくれるといいのですが・・・。

    腱鞘炎とのこと、どうぞご自愛くださいませ。

     |  ひつじのひと  |  返信
  4. ご心配いただきありがとうございます。

    仮想デスクトップの件、気になったので API のバグが修正されているか確認してみたのですが、やはり修正されていませんでした。

    また、当時、仮想デスクトップを操作するための API の多くは隠ぺいされており、Windows の解析によって発見されたという経緯がありまして、あれから 4 年近くなるのでそろそろ公式で情報公開されているかな?

    …と思って調べてみたのですが、いまだに非公開 API のままでした。(非公開 API は Windows のアップデートにともない仕様が変わる可能性があるので実用できません)

    マイクロソフト純正の Visual Studio Code をはじめ、タブ式のエディターやアプリケーションの多くが仮想デスクトップに対応できていないのも、こういった理由からなのかもしれません。

    しかし、こうなってくるとマイクロソフトが対応してくれる可能性は低いように思いますから、現状公開されているたった 3 つ、しかもバグつきの API を駆使してなんとか実現したいような気もします…😅

     |  Kuro  |  返信
  5. > …と思って調べてみたのですが、いまだに非公開 API のままでした。(非公開 API は Windows のアップデートにともない仕様が変わる可能性があるので実用できません)
    下手したらMS気づいていない・・・?となるとフィードバックハブから投げなければ・・・!

    > しかし、こうなってくるとマイクロソフトが対応してくれる可能性は低いように思いますから、現状公開されているたった 3 つ、しかもバグつきの API を駆使してなんとか実現したいような気もします…😅

    もしも腱鞘炎と気力が回復された際には是非に・・・!

     |  ひつじのひと  |  返信
スポンサーリンク