2个稳定版本
1.0.1 | 2020年5月10日 |
---|---|
1.0.0 | 2020年4月17日 |
#9 in #workaround
10KB
uniconize (不是独角兽)
这是一个修复Wine游戏在sway和其他不支持图标化窗口的平铺窗口管理器上黑屏问题的补丁。
安装
- 手动:使用最新的Rust工具链和此仓库的新克隆,运行
cargo install --path .
- crates.io:
cargo install uniconize
- Arch Linux: AUR 包
uniconize
- Nixpkgs: NUR 包
pkgs.nur.repos.nexromancers.uniconize
- 其他发行版:提交一个请求以添加您的包或构建脚本!
使用
只需运行此程序!在sway上,您需要在您的配置中某处运行 exec uniconize
。没有选项。
说明
i3和sway是平铺窗口管理器,它们设计上不支持图标化窗口。不幸的是,ICCCM标准说它们必须支持。话虽如此,对于原生应用程序,忽略图标化请求是完全可以接受的,因为根据X11约定,状态只有在窗口管理器表示后才会改变。
然而,在Wine中运行的Windows应用程序却更成问题。在Windows中,当应用程序设置图标化标志时,窗口将被保证图标化,而无需窗口管理器提供任何反馈。因此,Wine无法遵守这一约定,只能盲目地假设应用程序已被图标化。
这对于i3和sway来说是个问题,因为它们不支持这种状态,没有机制可以将客户端从这种状态中恢复过来。由于在Windows中,退出全屏窗口将立即将其图标化,因此游戏很容易进入这种状态。
但事实证明,只需告诉游戏它已被取消图标化,就可以将其从死亡状态中恢复过来,而无需使用Wine的虚拟桌面。i3已经包含了这种行为,但修复sway中的这个问题似乎更复杂,所以我选择编写这个小程序。
如需更多信息,请查看以下链接
依赖项
~3MB
~57K SLoC