#sway #wine #workaround #game #linux #window-manager #blackscreening

app uniconize

解决在sway上Wine游戏黑屏问题

2个稳定版本

1.0.1 2020年5月10日
1.0.0 2020年4月17日

#9 in #workaround

MPL-2.0 许可协议

10KB

uniconize (不是独角兽)

这是一个修复Wine游戏在sway和其他不支持图标化窗口的平铺窗口管理器上黑屏问题的补丁。

安装

使用

只需运行此程序!在sway上,您需要在您的配置中某处运行 exec uniconize。没有选项。

说明

i3和sway是平铺窗口管理器,它们设计上不支持图标化窗口。不幸的是,ICCCM标准说它们必须支持。话虽如此,对于原生应用程序,忽略图标化请求是完全可以接受的,因为根据X11约定,状态只有在窗口管理器表示后才会改变。

然而,在Wine中运行的Windows应用程序却更成问题。在Windows中,当应用程序设置图标化标志时,窗口将被保证图标化,而无需窗口管理器提供任何反馈。因此,Wine无法遵守这一约定,只能盲目地假设应用程序已被图标化。

这对于i3和sway来说是个问题,因为它们不支持这种状态,没有机制可以将客户端从这种状态中恢复过来。由于在Windows中,退出全屏窗口将立即将其图标化,因此游戏很容易进入这种状态。

但事实证明,只需告诉游戏它已被取消图标化,就可以将其从死亡状态中恢复过来,而无需使用Wine的虚拟桌面。i3已经包含了这种行为,但修复sway中的这个问题似乎更复杂,所以我选择编写这个小程序。

如需更多信息,请查看以下链接

依赖项

~3MB
~57K SLoC