让一个窗口显示在GTK +的全屏窗口上方

时间:2012-08-08 13:05:36

标签: gtk x11

我有一个全屏窗口(winA)和另一个窗口(winB),它总是在顶部。

现在我需要让winB显示在winA之上,而winA仍然高于任何其他窗口。

如何在GTK +中执行此操作?谢谢。 (也许这需要Xlib?)

PS1:我不会使用POPUP窗口,因为它会将所有窗口置于其下。我只需要将winB放在winA上,而不是所有其他的。例如,如果我在全屏模式下观看视频,我不希望看到winB。但如果winA就在这里,winB就在它之上。

PS2:winA& winB属于同一个程序。在这种情况下,它可以简化解决方案。

1 个答案:

答案 0 :(得分:3)

告诉窗口管理器将winB保持在winA之上的主要方法是通过“transient for”提示,使用gtk_window_set_transient_for()在GTK +中设置。

如果您的窗口不是对话框,则行为可能不会如您所愿;您可以尝试使用gtk_window_set_type_hint()设置语义提示,看看是否能让您随处找到。

但是行为基本上会随着窗口管理器(这是预期的)而变化。所以你需要忍受这种情况并假设人们会使用符合他们想要的WM。