将X11窗口保持在另一个窗口的顶部

时间:2014-09-20 20:18:32

标签: linux x11

我有两个x11窗口,需要在彼此之间保持一定的堆叠顺序,即一个窗口需要保持在另一个窗口之上。我不关心应用程序之外的其他窗口。通常,我会使用父/子,但由于X11将子窗口剪辑为父窗口,我必须伪造它。我已经尝试了各种方法来保持和/或调整窗口堆栈以保持正确的顺序。然而,除了XRaiseWindow()之外,WM几乎忽略了所有东西,它太暴力并且导致其他窗口出现问题。

所以问题是我如何设置两个窗口之间的堆叠,或者有没有办法设置一个不会导致父剪裁孩子的父/子?

1 个答案:

答案 0 :(得分:2)

是的,您可以使用WM_TRANSIENT_FOR窗口属性使(瞬态)父级显示在子项后面而不剪切它。 Qt在内部使用它,您可以使用grep源来获取示例用法。

请参阅this answer cap