在 GTK+ 中让窗口显示在全屏窗口上方
Posted
技术标签:
【中文标题】在 GTK+ 中让窗口显示在全屏窗口上方【英文标题】:Let a window display above a fullscreen window in GTK+ 【发布时间】:2012-08-08 13:05:36 【问题描述】:我有一个全屏窗口 (winA) 和另一个始终位于顶部的窗口 (winB)。
现在我需要让 winB 显示在 winA 上方,而 winA 仍然在任何其他窗口上方。
如何在 GTK+ 中做到这一点?谢谢。 (也许这需要 Xlib?)
PS1:我不会使用 POPUP 窗口,因为它会将 所有 窗口放在它下面。我只需要将 winB 放在 winA 上,而不是所有其他人。例如,如果我在全屏模式下观看视频,我不希望看到 winB。但是如果 winA 在这里,winB 就在它上面。
PS2:winA 和 winB 在同一个程序中。在这种情况下,它可能会简化解决方案。
【问题讨论】:
【参考方案1】:告诉窗口管理器将 winB 保持在 winA 之上的主要方法是通过“transient for”提示,在 GTK+ 中设置为gtk_window_set_transient_for()。
如果您的窗口不是对话框,则行为可能不会如您所愿;您可以尝试使用gtk_window_set_type_hint() 设置语义提示,看看是否可以帮助您。
但行为基本上会随窗口管理器而变化(这是预期的)。所以你有点需要忍受这一点,并假设人们会使用他们想要的 WM。
【讨论】:
以上是关于在 GTK+ 中让窗口显示在全屏窗口上方的主要内容,如果未能解决你的问题,请参考以下文章
强制 Tkinter 窗口停留在全屏顶部 - Windows 10