我正在寻求在运行图形测试时提高开发人员的体验,这些测试会产生“疯狂”的短命窗口。窗口需要在物理上存在,否则数据回读失败(即窗口无法隐藏)
毋庸置疑,窗户高频弹出是令人不快的。我的目标是找到一种方法告诉XCreateWindow
“在背景中创建窗口”,“不要窃取焦点”或类似的东西无济于事。我能找到的最接近的事情就是在创作后调用XSetInputFocus
。除了我不能使它工作的事实,我不指望设置输入焦点无论如何完全解决问题(因为窗口仍然会弹出,只是没有输入焦点,对吧?)。
这是如何在X11中完成的?
附: Ubuntu上的更新通知开始时没有弹出到前面,所以这必须是可能的。
在过去,我已经尝试过并且完全没有做你想做的事情。尽管如此,我发现了一些可能引起关注的“足够接近”的解决方案。
XCreatePixmap可能会工作,但在我的情况下没有一个具有所需属性的像素图(多重采样)所以它“窗外”(哈哈)
为了防止某种程度的spaming,您可以将XCreateWindow parent
设置为除root之外的现有窗口,大到足以保存测试并移出显示区域。父窗口需要创建,移动到显示外部并且不聚焦,但至少每个窗口创建都不会窃取焦点(我认为)和显示的垃圾邮件。
或者你想出了一种方法来创建额外的显示,也许使用Xvbf。没有管理员访问corp dev env所以除了其他障碍之外没有尝试安装/配置,但它可能只适合你。