将应用程序嵌入窗口

mgh*_*his 6 unix linux x11 motif xlib

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

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

我怎样才能做到这一点?

Hav*_*c P 5

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

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

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

没有相当广泛的X知识,这将是痛苦的,即使它不一定可能100%可靠.