0

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

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

如何在 GTK+ 中做到这一点?谢谢。(也许这需要 Xlib?)

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

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

4

1 回答 1

3

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

如果您的窗口不是对话框,则行为可能不会完全符合您的要求;您可以尝试使用gtk_window_set_type_hint()设置语义提示,看看是否可以帮助您。

但是行为基本上会随着窗口管理器(这是预期的)而变化。所以你有点需要忍受这一点,并假设人们会使用一个可以按照他们想要的方式工作的 WM。

于 2012-08-11T17:53:31.927 回答