2012-08-08 98 views
0

的全屏窗口之上我有一個全屏窗口(winA)和另一個窗口(winB),它總是在最上面。讓一個窗口顯示在GTK +

現在我需要讓winB顯示在winA上面,而winA仍然高於任何其他窗口。

如何在GTK +中做到這一點?謝謝。 (也許這需要Xlib?)

PS1:我不會使用POPUP窗口,因爲它會把所有的下的窗口。我只需要把winB放在winA上,但不是所有其他的。例如,如果我以全屏模式觀看視頻,我不想看到winB。但是,如果winA在這裏,winB就在它之上。

PS2:winA & winB在同一個程序中。在這種情況下,它可能會簡化解決方案。

回答

3

告訴窗口管理器保持winB高於winA的主要方式是通過「transient for」提示,在GTK +中設置爲gtk_window_set_transient_for()

如果你的窗口不是對話框,那麼你的行爲可能不會如你所願;你可以試着用gtk_window_set_type_hint()設置一個語義提示,看看它是否能讓你獲得任何地方。

但行爲基本上會隨窗口管理器(這是打算)而異。所以你需要忍受這一點,並假設人們會使用一個WM,它的工作方式就是他們想要的。