我目前正在尝试使我的全屏Xlib OpenGL窗口支持alt-tab切换,但是遇到了一些困难。我尝试了XUnmapWindow(..)
,它有点起作用,但分辨率不会重置(除非我应该手动重置?)而我的Xlib窗口没有出现为最小化的窗口(即使应用程序似乎仍在后台运行,我也无法通过alt-tab返回窗口)。
接下来我尝试将窗口从全屏模式更改为窗口模式(即在窗口模式下重新创建窗口),但显然,我不想这样做。
我正在侦听FocusOut
和FocusIn
事件,当我使用alt-tab时,FocusOut
似乎被调用了,但我不确定如何使我的应用程序正确地最小化。如果在调用FocusOut
事件时不在我的代码中执行任何操作,则我的应用程序不会执行任何操作(即我无法最小化窗口)。
任何帮助都将不胜感激!
编辑: 不幸的是,我无法让X Windows正确地最小化全屏窗口。因此,为了解决这个问题,我决定destroy()
全屏窗口,然后在窗口模式下create()
一个新窗口。看起来效果不错。