我正在为X11编写一个修复窗口管理器(并且已经在这里问了很多问题)。现在,我遇到的问题与其说是要修复的bug,不如说是如何实现某些东西的问题。
应用程序可以请求透明性,如果xcompmgr或picom这样的排序器正在运行,它们将提供它。但是,当我重新创建窗口时,这似乎不起作用;在这种情况下,客户端窗口的背景只显示后面的黑色背景(可能是框架窗口?)但背景并不是黑色的)。我确实通过设置_NET_FRAME_EXTENTS来指示我有一个框架。
我试过的是:
,但当我更改窗口的不透明度时,不会收到任何PropertyNotify事件。
发布于 2021-10-09 13:34:28
您需要使用depth=32创建框架窗口(即:使其具有透明度)。因为您已经在查看AwesomeWM:它在启动时找到了正确的可视对象,然后以这种方式创建了它的所有窗口。这只是必要的,因为Lua代码可能需要透明。AFAIR,其他WMs查看程序的窗口位深度,并在此基础上创建其框架窗口。
https://stackoverflow.com/questions/69502106
复制相似问题