让一个窗口显示在GTK+;

让一个窗口显示在GTK+;,gtk,x11,Gtk,X11,我有一个全屏窗口(winA)和另一个始终位于顶部的窗口(winB) 现在我需要让winB显示在winA之上,而winA仍然在任何其他窗口之上 如何在GTK+中执行此操作?谢谢(也许这需要Xlib?) PS1:我不会使用弹出窗口,因为它会将所有的窗口放在它下面。我只需要把winB放在winA上,而不是所有其他的。例如,如果我在全屏模式下观看视频,我不想看到winB。但如果winA在这里,winB就在上面 PS2:winA和winB在同一个程序中。在这种情况下,它可以简化解决方案。告诉窗口管理器将w

我有一个全屏窗口(winA)和另一个始终位于顶部的窗口(winB)

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

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

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


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

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

如果你的窗口不是一个对话框,那么你的行为可能不符合你的意愿;你可以试着用设置一个语义提示,看看这是否有帮助


但是行为基本上会随着窗口管理器的不同而变化(这是预期的)。因此,您需要接受这一点,并假设人们将使用一个按照他们希望的方式工作的WM。

告诉窗口管理器将winB保持在winA之上的主要方式是通过GTK+中设置的“transient for”提示

如果你的窗口不是一个对话框,那么你的行为可能不符合你的意愿;你可以试着用设置一个语义提示,看看这是否有帮助

但是行为基本上会随着窗口管理器的不同而变化(这是预期的)。所以你需要接受这种情况,并假设人们会使用一种他们希望的工作方式