3

Linux 用の古い Motif ベースのアプリケーションに取り組んでいます。アプリケーションのアクティブ ウィンドウをプログラムで変更できるようにしたいと考えています。XSetInputFocus() 関数を使用して入力をリダイレクトでき、キーボード入力がそこに移動し始めますが、XReconfigureWMWindow() および XRaiseWindow() 関数は機能しません。

Window Manager がこの動作を止めようとしていると読んだので、configure redirection を無効にしようとしましたが、これもうまくいきません。ウィンドウスタックの上に自分のウィンドウを作成する方法はありますか?

4

2 に答える 2

2

ウィンドウとデスクトップで多くの操作を実行でき、多数のウィンドウ マネージャーを処理できるwmctrlという小さなプログラムが利用可能です (少なくとも Debian/Ubuntu では標準配布されています)。自分の環境で動作するかどうかをテストし、動作する場合はそのソースを覗くことをお勧めします。

于 2009-03-17T18:32:01.840 に答える
0

これに対する答えは、ユーザーが使用しているウィンドウ マネージャー、またはユーザーがウィンドウ マネージャーに与えた設定に依存する場合があります。私は自分のウィンドウ マネージャーを「フォーカスはマウスに従う」ように設定するのが好きです。つまり、マウスをそこにワープさせない限り、マウスを置いていないウィンドウにフォーカスを送ることはできません (その関数は XWarpMouse ?)。

于 2009-03-16T12:46:32.197 に答える