我正在寻找在运行图形测试时改善开发人员体验的方法,这些图形测试会产生“疯狂”的短期窗口。窗口必须在物理上,否则数据回读会失败(即,窗口无法隐藏)
不用说,以高频率弹出的窗口令人不快。我的目标是找到一种告诉XCreateWindow
“在后台创建窗口”,“不要窃取焦点”或类似的方法而无济于事的方法。我能找到的最接近的东西是创建后的XSetInputFocus
。除了我无法使其工作这一事实外,我不希望设置输入焦点仍然可以完全解决问题(因为窗口仍会弹出,只是没有输入焦点,对吗?)。
在X11中如何完成?
附言Ubuntu上的更新通知会在不弹出的情况下启动,因此这一定是有可能的。
最佳答案
过去,我一直尝试并做不到想做的事。不过,我发现了一些可能很有趣的“足够接近”的解决方案。
XCreatePixmap可能会解决,但是在我的情况下,没有具有所需属性的像素图(多次采样),因此它“在窗外”(哈哈)
为了防止出现某种程度的垃圾邮件,您可以将XCreateWindow parent
设置为除root之外的现有窗口,该窗口足够容纳测试并移至显示之外。需要创建父窗口,将其移到显示之外并使其没有焦点,但是至少每个窗口创建都不会窃取显示中的焦点(我认为)和垃圾邮件。
或者您想出一种创建其他显示的方法,也许使用Xvbf。没有对corp dev env的管理员访问权限,因此除了其他障碍外,也不必费心尝试安装/配置,但这可能对您有用。
关于c - 如何在后台XCreateWindow?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55466778/