首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修复WM中的不透明度

修复WM中的不透明度
EN

Stack Overflow用户
提问于 2021-10-08 21:56:31
回答 1查看 279关注 0票数 0

我正在为X11编写一个修复窗口管理器(并且已经在这里问了很多问题)。现在,我遇到的问题与其说是要修复的bug,不如说是如何实现某些东西的问题。

应用程序可以请求透明性,如果xcompmgr或picom这样的排序器正在运行,它们将提供它。但是,当我重新创建窗口时,这似乎不起作用;在这种情况下,客户端窗口的背景只显示后面的黑色背景(可能是框架窗口?)但背景并不是黑色的)。我确实通过设置_NET_FRAME_EXTENTS来指示我有一个框架。

我试过的是:

  • 看起来像awesomewm的不透明代码,它侦听一个属性,并使用_NET_WM_OPACITY通知。尽管在根窗口上选择了SubstructureRedirect|SubstructureNotify|PropertyChange .

,但当我更改窗口的不透明度时,不会收到任何PropertyNotify事件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-09 13:34:28

您需要使用depth=32创建框架窗口(即:使其具有透明度)。因为您已经在查看AwesomeWM:它在启动时找到了正确的可视对象,然后以这种方式创建了它的所有窗口。这只是必要的,因为Lua代码可能需要透明。AFAIR,其他WMs查看程序的窗口位深度,并在此基础上创建其框架窗口。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69502106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档