窗口缺乏透明效果需依次启用mate合成管理器、控制中心透明度调节、xprop单窗设置、qt属性声明及dde亚克力渲染。

如果您在麒麟OS系统中发现窗口缺乏透明视觉效果,可能是由于桌面环境的合成管理器未启用或相关配置项被禁用。以下是针对不同场景设置窗口透明度的具体操作步骤:
一、启用MATE桌面合成管理器
银河麒麟基于MATE桌面环境,其窗口透明效果依赖于底层合成管理器(compositing-manager)运行。若该服务关闭,所有透明设置将失效。
1、打开终端,执行以下命令启用合成管理器:
gsettings set org.mate.Marco.general compositing-manager true
2、重启MATE桌面会话:按 Alt + F2,输入 r 并回车。
3、验证是否生效:执行 gsettings get org.mate.Marco.general compositing-manager,返回 true 即表示已启用。
二、通过控制中心调节全局透明度
统信UOS与银河麒麟共享部分DDE/MATE融合设置路径,控制中心提供图形化透明度滑块,适用于任务栏、启动器及部分窗口组件。
1、点击右下角【控制中心】图标,进入系统设置界面。
2、选择【个性化】→【通用】,确保【窗口特效】开关处于开启状态。
3、向下滚动至【透明度调节】区域,展开后拖动【任务栏】和【启动器】对应的滑块。
4、滑块向左移动降低不透明度值,向右则增强显示密度,调整过程中可实时预览效果。
三、使用xprop命令设置指定窗口透明度
对于终端、文件管理器等独立X11窗口,可通过xprop工具直接写入NET_WM_WINDOW_OPACITY属性,实现单窗口级透明控制。
1、先激活目标窗口,例如终端,使其获得焦点。
2、在另一终端中执行以下命令获取当前窗口ID:
xwininfo | grep "Window id"
3、复制输出中的十六进制窗口ID(如 0x3a00005),代入以下命令设置50%透明度:
xprop -f _NET_WM_WINDOW_OPACITY 32c -set _NET_WM_WINDOW_OPACITY 0x7fffffff -id 0x3a00005
4、数值说明:0x00000000为完全透明,0xffffffff为完全不透明;0x7fffffff约为50%透明度。
四、Qt应用程序强制启用透明背景
在Qt开发的应用中,若窗口背景显示为黑色而非预期透明,需同时满足合成管理器启用与代码层显式声明WA_TranslucentBackground属性。
1、确认系统级合成已开启(参考第一部分)。
2、在窗口构造函数或初始化逻辑中添加以下代码行:
this->setAttribute(Qt::WA_TranslucentBackground, true);
3、若使用QSS样式表,需额外清除背景画刷:
this->setStyleSheet("background: transparent;");
4、避免调用 setAutoFillBackground(true) 或设置非透明palette,否则将覆盖透明声明。
五、通过DDE配置启用亚克力渲染效果
针对深度定制窗口(如通知面板、快捷菜单),银河麒麟V10 SP1及后续版本支持DDE原生亚克力材质,需手动激活底层渲染参数。
1、打开终端,执行命令检查DDE外观配置是否存在:
gsettings list-recursively org.deepin.dde.appearance
2、启用亚克力支持:
gsettings set org.deepin.dde.appearance enable-acrylic true
3、设定任务栏基础透明度(取值范围0.0–1.0):
gsettings set org.deepin.dde.appearance taskbar-opacity 0.45
4、注销当前用户并重新登录,使DDE渲染引擎加载新配置。










