したがって、X ウィンドウ (別のプロセスに属する) があり、できれば実際にサイズを変更せずに、そのウィンドウのサイズ変更イベントをトリガーしたいと考えています。
私の最初のアプローチは、ウィンドウのサイズを 2 回変更し、2 回目は元のサイズに戻すことでしたが、失敗しました。問題は、問題のウィンドウがフルスクリーンで表示され、明らかにこれらに対してXResizeWindow
orを呼び出しXMoveResizeWindow
ても何もしないことです (これは何らかの意味で意味があります)。ウィンドウがフルスクリーン モードでない場合は、正常に動作します。
とにかくこれは簡単なテストのためだけだったので、Xサーバーでそのウィンドウのサイズ変更イベントを偽装/挿入できるかどうか疑問に思い始めました。非常に簡単に見えるMS Windowsの場合、グーグルで多くの例を見つけましたが、Xの場合は運が悪いようです。
背景 (おそらくとにかく質問されるので ;)): VMware Player インスタンスをフルスクリーンで起動しています。場合によっては、起動後に Windows ゲストがホストに応じて解像度を変更しません (ただし、ほとんどの場合は変更されます。ありがとうございます)ゲストにインストールされている VMware Tools に)。VM は、サイズの異なる画面が接続された複数のマシンで使用されているため、画像を事前に構成して正しい解像度にすることはできません。現在、解像度が間違っている場合、ユーザーは終了してフルスクリーンに再入力するように指示されますが、これはかなり不便です。したがって、私の考えは、起動後にサイズが変更されたことをVMplayerに単純に伝えることでしたが、もっと良いアプローチがあるかもしれません...