将应用程序嵌入窗口

时间:2011-03-22 17:04:05

标签: linux unix x11 xlib motif

FvwmButtons(fvwm窗口管理器的一个模块)具有Swallow功能,嵌入 将应用程序窗口放入面板中。

我必须使用Motif和Xlib做这样的事情。我想在我的应用程序中嵌入一个Xclock。我想我必须更改嵌入式应用程序的Window ID。

我该怎么做?

2 个答案:

答案 0 :(得分:5)

唯一受支持且可靠的机制是XEmbed,但它需要嵌入式应用程序才能合作。没有合作的应用程序,你就处在一个可怕的黑客世界。

您需要做的基本事情是XReparentWindow(),但问题是您正在与窗口管理器进行对抗,窗口管理器也希望重新显示窗口。你也可能会混淆应用程序,它会期望ICCCM和EWMH行为,并期望父窗口是一个WM框架。

真正古老的GNOME 1.x版本的gnome面板有一个燕子功能,你可以尝试从可能窃取黑客攻击。

如果没有相当广泛的X知识,这将是痛苦的,甚至是痛苦的 使用它不一定能100%可靠。

答案 1 :(得分:2)

看起来您正在寻找XEmbed协议,记录为here