如何在后台XCreateWindow?

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

我正在寻求在运行图形测试时提高开发人员的体验,这些测试会产生“疯狂”的短命窗口。窗口需要在物理上存在,否则数据回读失败(即窗口无法隐藏)

毋庸置疑,窗户高频弹出是令人不快的。我的目标是找到一种方法告诉XCreateWindow“在背景中创建窗口”,“不要窃取焦点”或类似的东西无济于事。我能找到的最接近的事情就是在创作后调用XSetInputFocus。除了我不能使它工作的事实,我不指望设置输入焦点无论如何完全解决问题(因为窗口仍然会弹出,只是没有输入焦点,对吧?)。

这是如何在X11中完成的?


附: Ubuntu上的更新通知开始时没有弹出到前面,所以这必须是可能的。

c x11 xlib
1个回答
0
投票

在过去,我已经尝试过并且完全没有做你想做的事情。尽管如此,我发现了一些可能引起关注的“足够接近”的解决方案。

XCreatePixmap可能会工作,但在我的情况下没有一个具有所需属性的像素图(多重采样)所以它“窗外”(哈哈)

为了防止某种程度的spaming,您可以将XCreateWindow parent设置为除root之外的现有窗口,大到足以保存测试并移出显示区域。父窗口需要创建,移动到显示外部并且不聚焦,但至少每个窗口创建都不会窃取焦点(我认为)和显示的垃圾邮件。

或者你想出了一种方法来创建额外的显示,也许使用Xvbf。没有管理员访问corp dev env所以除了其他障碍之外没有尝试安装/配置,但它可能只适合你。

© www.soinside.com 2019 - 2024. All rights reserved.