0

フルスクリーン ウィンドウ (winA) と、常に一番上にある別のウィンドウ (winB) があります。

ここで、winB を winA の上に表示する必要がありますが、winA はまだ他のウィンドウの上にあります。

GTK+ でこれを行うには? ありがとう。(これには Xlib が必要なのでしょうか?)

PS1:すべてのウィンドウがその下に置かれるため、POPUP ウィンドウは使用しません。winA に winB を配置する必要があるだけですが、他のすべてではありません。たとえば、フルスクリーン モードでビデオを見ている場合、winB は表示されません。しかし、winA がここにある場合、winB はそのすぐ上にあります。

PS2: winA と winB は同じプログラムにあります。この場合、ソリューションを簡素化できます。

4

1 に答える 1

3

ウィンドウマネージャーにwinBをwinAより上に保つように指示する主な方法は、GTK +でgtk_window_set_transient_for()を使用して設定された「transientfor」ヒントを使用することです。

ウィンドウがダイアログでない場合、動作が希望どおりに表示されない可能性があります。gtk_window_set_type_hint()を使用してセマンティックヒントを設定してみて、それがどこにでも到達するかどうかを確認できます。

ただし、動作は基本的にウィンドウマネージャー(意図されている)によって異なります。ですから、あなたはそれと一緒に暮らす必要があり、人々が彼らが望むように機能するWMを使用すると仮定する必要があります。

于 2012-08-11T17:53:31.927 に答える