我们正在使用Red Hat Linux 6.4,我们的应用程序是使用Qt构建的。该应用程序有多个窗口,我们支持布局系统,我们的用户可以保存应用程序布局并在以后恢复。该应用程序是跨平台的,在Windows上,一切都很好。在Linux上,当窗口跨越多个监视器时,我们在恢复窗口时遇到问题。我们的配置使用跨越所有监视器的单个虚拟X显示器,用户可以根据需要在监视器上手动定位和调整窗口大小。
我们发现窗口管理器正在对以编程方式设置的窗口强制执行策略,并强制它们不跨越两个监视器之间的鸿沟。当我们尝试恢复包含跨越监视器的窗口的已保存布局时,窗口管理器会根据需要缩小其大小并重新定位。基本上,只要用户通过拖动窗口并调整窗口大小来进行更改,窗口管理器就会尊重它,但是以编程方式设置它的应用程序会被覆盖。我确信有人认为这是一个合理的限制,但我们的客户不同意。
这里的开发人员花了几天时间搜索并尝试尝试找到一种以编程方式解决此问题的方法,或者更好的方法,告诉窗口管理器停止这样做。我们正在使用GNOME桌面和Qt 4.8.x。
有什么想法吗?
谢谢你, Doug McGrath