如何创建X窗口以执行其他程序或始终在顶部设置一个窗口

问题描述 投票:0回答:1

我在Linux Redhat上获得了2个独立程序(A和B),由Motif工具包基于X window开发。这两个程序都具有自己的人机界面。随之而来的问题是:在同一桌面上显示这两个程序时,如何始终在顶层设置一个程序的界面?当前的情况是,当我在同一桌面上运行它们,然后单击程序A(全屏)时,程序B(一个小窗口)将在程序A的下方下降,除非使用alt + Tab在他们,这是不可接受的。

我想在单击程序A时始终将其显示在顶层,所以它不会降低。还是可以在插入程序A的一个窗口中设置程序B的显示?如果可能,如何在Motif X窗口上实现它?使用一个程序中的motif x窗口显示另一个程序的界面。

期待您的建议,即使我知道很少有人仍在使用Motif作为构建界面的工具包。但是要重建作为工业级产品的整个程序太困难了。

c linux solaris xorg motif
1个回答
0
投票

您可以通过调用以编程方式确保窗口位于顶部

XRaiseWindow(XtDisplay(toplevel), XtWindow(toplevel));

(假设顶层是您的顶层小部件)。

是否永久保留在最上面是由窗口管理器控制的。如果恰好是mwm,您可以尝试致电

XtVaSetValues(toplevel, XmNmwmInputMode, MWM_INPUT_SYSTEM_MODAL, NULL);
© www.soinside.com 2019 - 2024. All rights reserved.