FvwmButtons(fvwm 窗口管理器的一个模块)具有 Swallow 功能,嵌入 将应用程序的窗口转换为面板。
我必须用 Motif 和 Xlib 做这样的事情。我想在我的应用程序中嵌入一个 Xclock。我想我必须更改嵌入式应用程序的窗口 ID。
我该怎么做?
最佳答案
唯一受支持且可靠的机制是XEmbed,但它需要嵌入式应用程序配合。如果没有协作应用程序,您将处于一个充满可怕黑客的世界。
您需要做的基本事情是 XReparentWindow(),但问题是您正在与窗口管理器作斗争,它也需要重新设置窗口的父级。您还可能混淆应用程序,该应用程序将期望 ICCCM 和 EWMH 行为,并期望父窗口是 WM 框架。
真正老的 GNOME 1.x 版本的 gnome 面板有一个 swallow 特性,你可以尝试从中窃取 hack。
如果没有相当广泛的 X 知识,这将是痛苦的,甚至 不一定能做到 100% 可靠。
关于linux - 将应用程序嵌入到窗口中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5395044/